From 00bf8501dd5f3e0e966ab9923f19e8be14bab1eb Mon Sep 17 00:00:00 2001 From: Jef Roosens Date: Sat, 17 Apr 2021 15:10:42 +0200 Subject: [PATCH] [closes #33] Added compose file; ./fejctl rr works now --- Rocket.toml | 5 ++++- docker/docker-compose.yml | 35 +++++++++++++++++++++++++++++++++++ fejctl | 14 +++++++++++++- 3 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 docker/docker-compose.yml diff --git a/Rocket.toml b/Rocket.toml index 20ca98c..56291e7 100644 --- a/Rocket.toml +++ b/Rocket.toml @@ -7,5 +7,8 @@ write_timeout = 5 log = "normal" limits = { forms = 32768 } -[global.databases] +[development.databases] postgres_fej = { url = "postgres://fej:fej@fej_db:5432/fej" } + +[production.databases] +postgres_fej = { url = "postgres://fej:fej@db:5432/fej" } diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..c6d6066 --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,35 @@ +version: '2.4' + +services: + app: + image: 'chewingbever/fej:latest' + restart: 'always' + + depends_on: + db: + condition: 'service_healthy' + + environment: + - 'DATABASE_URL=postgres://fej:fej@db:5432/fej' + + db: + image: 'postgres:13-alpine' + restart: 'always' + + environment: + - 'POSTGRES_DB=fej' + - 'POSTGRES_USER=fej' + - 'POSTGRES_PASSWORD=fej' + healthcheck: + test: 'pg_isready -U fej' + interval: '30s' + timeout: '5s' + retries: 3 + start_period: '0s' + + volumes: + - 'db-data:/var/lib/postgresql/data' + + +volumes: + db-data: diff --git a/fejctl b/fejctl index 879419e..b60be50 100755 --- a/fejctl +++ b/fejctl @@ -105,7 +105,18 @@ function stop() { } function run_release() { - echo "Not implemented" + docker-compose \ + --file docker/docker-compose.yml \ + --project-name fej-release \ + up \ + --detach +} + +function stop_release() { + docker-compose \ + --file docker/docker-compose.yml \ + --project-name fej-release \ + down } # Tags & pushes the release version to Docker Hub @@ -155,6 +166,7 @@ function main() { r | run ) run "$bin" ;; rr | run-release ) run_release ;; s | stop ) stop ;; + sr | stop-release ) stop_release ;; # Ease of life psql ) docker exec -it fej_db psql -U fej -d fej ;;