From 156276f0c0058e621fb7d76881cc3054f0994f3f Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Mon, 25 Sep 2023 18:21:08 +0200 Subject: [PATCH] [Docker] Allow overriding forwarded ports This also makes images load on ports other than 3000 by default --- .env.sample | 5 +++++ docker-compose.yml | 9 ++++----- docker/default.conf.template | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.env.sample b/.env.sample index fa4ff343a..ebf86e752 100644 --- a/.env.sample +++ b/.env.sample @@ -43,6 +43,11 @@ # # COMPOSE_PROFILES=solargraph,discord +# Change the ports that are forwarded by docker to avoid potential conflicts + +# EXPOSED_SERVER_PORT=3000 +# EXPOSED_POSTGRES_PORT=34517 + # The following environment variables are required when using the 'discord' profile: # JOINER_BOT_TOKEN= diff --git a/docker-compose.yml b/docker-compose.yml index b51bddaac..4b1095043 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ version: "3" x-environment: &common-env - DANBOORU_HOSTNAME: http://localhost:3000 + DANBOORU_HOSTNAME: http://localhost:${EXPOSED_SERVER_PORT:-3000} DANBOORU_REDIS_URL: redis://redis DANBOORU_ELASTICSEARCH_HOST: elastic DANBOORU_MEMCACHED_SERVERS: memcached @@ -70,13 +70,12 @@ services: - ./docker/default.conf.template:/etc/nginx/templates/default.conf.template environment: <<: *common-env - NGINX_HOST: localhost - NGINX_PORT: 3000 + NGINX_PORT: ${EXPOSED_SERVER_PORT:-3000} depends_on: - autocompleted - e621 ports: - - "3000:3000" + - "${EXPOSED_SERVER_PORT:-3000}:${EXPOSED_SERVER_PORT:-3000}" postgres: image: postgres:15-alpine @@ -87,7 +86,7 @@ services: volumes: - db_data:/var/lib/postgresql/data ports: - - "34517:5432" + - "${EXPOSED_POSTGRES_PORT:-34517}:5432" redis: image: redis:7.0.10-alpine diff --git a/docker/default.conf.template b/docker/default.conf.template index 6f8c66a24..cb872c736 100644 --- a/docker/default.conf.template +++ b/docker/default.conf.template @@ -1,6 +1,6 @@ server { listen ${NGINX_PORT}; - server_name ${NGINX_HOST}; + server_name localhost; root /app/public; index index.html; access_log off;