diff --git a/deployment/run-prod.sh b/deployment/run-prod.sh index 9925e1f6..2ba2d4d2 100755 --- a/deployment/run-prod.sh +++ b/deployment/run-prod.sh @@ -4,9 +4,14 @@ set -e cd "$(dirname "$0")" +env=$1 + +# TODO: pass env to this script based on circle branch +# TODO: check if $env defined and correct + # Do not use the override compose file, which is intended for development # We run in prod mode, but we still build from this guild repository -docker-compose -f ../docker-compose.yml -f ../docker-compose.prod.yml up --build -d --force-recreate +docker-compose -f ../docker-compose.yml -f "../docker-compose.${env}.yml" up --build -d --force-recreate # Clean up dangling images docker image prune -f diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 9aa869cf..61bd553c 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -32,3 +32,13 @@ services: environment: NGINX_PROXY_CONTAINER: 'nginx' + web: + environment: + VIRTUAL_HOST: testing.govstack.global + LETSENCRYPT_HOST: testing.govstack.global + + backend: + environment: + API_KEY_BB: ${API_KEY_BB:-asudbq827ebsadon} + VIRTUAL_HOST: api.testing.govstack.global + LETSENCRYPT_HOST: api.testing.govstack.global diff --git a/docker-compose.staging.yml b/docker-compose.staging.yml new file mode 100644 index 00000000..d0aed08d --- /dev/null +++ b/docker-compose.staging.yml @@ -0,0 +1,44 @@ +version: '3' + +services: + + nginx: + container_name: nginx + image: nginxproxy/nginx-proxy + restart: unless-stopped + ports: + - 80:80 + - 443:443 + volumes: + - /var/run/docker.sock:/tmp/docker.sock:ro + - /var/docker/nginx/html:/usr/share/nginx/html + - /var/docker/nginx/certs:/etc/nginx/certs + - /var/docker/nginx/vhost:/etc/nginx/vhost.d + logging: + options: + max-size: "10m" + max-file: "3" + + letsencrypt-companion: + container_name: letsencrypt-companion + image: jrcs/letsencrypt-nginx-proxy-companion + restart: unless-stopped + volumes: + - /var/docker/nginx/html:/usr/share/nginx/html + - /var/docker/nginx/certs:/etc/nginx/certs + - /var/docker/nginx/vhost:/etc/nginx/vhost.d + - /var/run/docker.sock:/var/run/docker.sock + - /var/docker/nginx/acme:/etc/acme.sh + environment: + NGINX_PROXY_CONTAINER: 'nginx' + + web: + environment: + VIRTUAL_HOST: staging.testing.govstack.global + LETSENCRYPT_HOST: staging.testing.govstack.global + + backend: + environment: + API_KEY_BB: ${API_KEY_BB:-O7VKGLW47I6e} + VIRTUAL_HOST: api.staging.testing.govstack.global + LETSENCRYPT_HOST: api.staging.testing.govstack.global diff --git a/docker-compose.yml b/docker-compose.yml index 44f71897..89fc1ce0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,8 +5,6 @@ services: ports: - 3003:3003 environment: - VIRTUAL_HOST: testing.govstack.global - LETSENCRYPT_HOST: testing.govstack.global API_URL: ${API_URL:-http://localhost:5000} logging: driver: "json-file" @@ -48,10 +46,7 @@ services: MONGO_HOST: ${MONGO_HOST:-mongo} MONGO_PORT: ${MONGO_PORT:-27017} MONGO_DATABASE: ${MONGO_DATABASE:-test_execution_result} - API_KEY_BB: ${API_KEY_BB:-asudbq827ebsadon} PORT: ${BACKEND_PORT:-5000} - VIRTUAL_HOST: api.testing.govstack.global - LETSENCRYPT_HOST: api.testing.govstack.global depends_on: - mongo networks: