diff --git a/deployment/docker_compose/docker-compose.dev.yml b/deployment/docker_compose/docker-compose.dev.yml index dba1e972a..046725846 100644 --- a/deployment/docker_compose/docker-compose.dev.yml +++ b/deployment/docker_compose/docker-compose.dev.yml @@ -94,6 +94,8 @@ services: nginx: image: nginx:1.23.4-alpine restart: always + # nginx will immediately crash with `nginx: [emerg] host not found in upstream` + # if api_server / web_server are not up depends_on: - api_server - web_server diff --git a/deployment/docker_compose/docker-compose.prod.yml b/deployment/docker_compose/docker-compose.prod.yml index 8e33fddd7..7fab3bd70 100644 --- a/deployment/docker_compose/docker-compose.prod.yml +++ b/deployment/docker_compose/docker-compose.prod.yml @@ -84,6 +84,11 @@ services: nginx: image: nginx:1.23.4-alpine restart: always + # nginx will immediately crash with `nginx: [emerg] host not found in upstream` + # if api_server / web_server are not up + depends_on: + - api_server + - web_server ports: - "80:80" - "443:443" diff --git a/deployment/docker_compose/init-letsencrypt.sh b/deployment/docker_compose/init-letsencrypt.sh index 6db73122e..c58e1230f 100755 --- a/deployment/docker_compose/init-letsencrypt.sh +++ b/deployment/docker_compose/init-letsencrypt.sh @@ -36,7 +36,7 @@ fi echo "### Creating dummy certificate for $domains ..." path="/etc/letsencrypt/live/$domains" mkdir -p "$data_path/conf/live/$domains" -docker compose -f docker-compose.prod.yml run --rm --entrypoint "\ +docker compose -f docker-compose.prod.yml run --name danswer-stack --rm --entrypoint "\ openssl req -x509 -nodes -newkey rsa:$rsa_key_size -days 1\ -keyout '$path/privkey.pem' \ -out '$path/fullchain.pem' \ @@ -45,11 +45,11 @@ echo echo "### Starting nginx ..." -docker compose -f docker-compose.prod.yml up --force-recreate -d nginx +docker compose -f docker-compose.prod.yml -p danswer-stack up --force-recreate -d nginx echo echo "### Deleting dummy certificate for $domains ..." -docker compose -f docker-compose.prod.yml run --rm --entrypoint "\ +docker compose -f docker-compose.prod.yml run --name danswer-stack --rm --entrypoint "\ rm -Rf /etc/letsencrypt/live/$domains && \ rm -Rf /etc/letsencrypt/archive/$domains && \ rm -Rf /etc/letsencrypt/renewal/$domains.conf" certbot @@ -72,7 +72,7 @@ esac # Enable staging mode if needed if [ $staging != "0" ]; then staging_arg="--staging"; fi -docker compose -f docker-compose.prod.yml run --rm --entrypoint "\ +docker compose -f docker-compose.prod.yml run --name danswer-stack --rm --entrypoint "\ certbot certonly --webroot -w /var/www/certbot \ $staging_arg \ $email_arg \ @@ -83,4 +83,4 @@ docker compose -f docker-compose.prod.yml run --rm --entrypoint "\ echo echo "### Reloading nginx ..." -docker compose -f docker-compose.prod.yml exec nginx nginx -s reload +docker compose -f docker-compose.prod.yml -p danswer-stack up --force-recreate -d nginx