-
-
Notifications
You must be signed in to change notification settings - Fork 400
Create SteVe Instance in AWS Lightsail
-
Log into AWS Dashboard AWS Services -> Lightsail
-
Create Instance, Platform Linux/Unix, OS Only Ubuntu 18.04 LTS, -> Status 2024: UBUNTU 24.x Upload public key, select smallest plan -> Status 2024: Memory Minimum 1GB
- Create Static IP address, Attach to Instance
- Click on Instance -> Networking, Under Firewall Select + Add Another TCP 8080
- Create Database, Pick MySQL 5.7.26, You can leave Username and Password to default, Plan Standard / smallest
- Wait for the database to start and copy database credentials (endpoint, username and password)
- Connect to instance via ssh using the public IP.
-
Update everything:
sudo apt update && sudo apt -y upgrade
(don't override the configs) -
Install required packages:
a.
sudo apt install maven
b.
sudo apt install mysql-client
c.
sudo apt-get install openjdk-17-jdk
- Prepare Database (use the username, host and password from earlier):
mysql -u dbmasteruser -h ls-e98192e66a6XXXXXXXXXXXXXXXXXX.c0ftlmkcbxge.eu-central-1.rds.amazonaws.com -p
mysql> CREATE DATABASE stevedb CHARACTER SET utf8 COLLATE utf8_unicode_ci;
mysql> quit
-
Checkout SteVe:
git clone https://github.com/RWTH-i5-IDSG/steve.git; cd steve
-
Configure SteVe:
vi src/main/resources/config/prod/main.properties
- configure
db.ip
,db.user
anddb.password
to match your MySQL information, e.g.ls-e98192e66a6XXXXXXXXXXXXXXXXXX.c0ftlmkcbxge.eu-central-1.rds.amazonaws.com
(MySQL endpoint) asdb.ip
,dbmasteruser
asdb.user
anddb.password
as shown. - Bind SteVe to all interfaces by setting:
server.host = 0.0.0.0
- Use a strong password for
auth.password
-
Build Steve (we need to enforce lower memory usage on the tiny instance):
export MAVEN_OPTS="-Xmx200m" && mvn package
-
Start it. I suggest running it inside screen or tmux:
java -jar target/steve.jar
You'll be able to access SteVe via the Lightsail public IP.