diff --git a/Highscore-Server/highscore/run.sh b/Highscore-Server/highscore/run.sh index 47a7f51..9199757 100644 --- a/Highscore-Server/highscore/run.sh +++ b/Highscore-Server/highscore/run.sh @@ -1,20 +1,29 @@ #!/bin/sh +# Wait for database to start until pg_isready -d $DB_NAME -h $DB_HOST -p $DB_PORT -U $DB_USER do echo "Waiting for database to start... (5s)" sleep 5 done -echo "Database is ready! Creating tables..." -flask --app server db init +echo "Database is ready!" -if [ -n $(flask --app server db check) ] +# Check if migrastions folder exists +if [ ! -d "migrations" ] +then + echo "Creating tables..." + flask --app server db init +fi + +# Check if there are any changes to the database +if -n flask --app server db check then echo "Database changes detected! Migrating..." flask --app server db migrate flask --app server db upgrade fi +# Start server!!!! echo "Starting server..." gunicorn --bind highscore:8080 server:app diff --git a/docker-compose.yml b/docker-compose.yml index 31efee0..0665a09 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,6 +3,7 @@ version: "3.9" services: caddy: image: caddy:alpine + restart: always ports: - 80:80 - 443:443 @@ -17,6 +18,7 @@ services: db: image: postgres:alpine + restart: always ports: - 5432:5432 volumes: @@ -31,6 +33,7 @@ services: highscore: build: ./Highscore-Server + restart: always volumes: - ./Highscore-Server/data:/data/storage - ./Highscore-Server/logs:/data/logs