1
0
Fork 0
mirror of https://github.com/seanmorley15/AdventureLog.git synced 2025-08-05 13:15:18 +02:00

Change docker compose env vars

Previously, each container would be handed all the env vars int the .env file.
This is bad practice for a variety of reasons.
This commit changes it so the docker compose file specified the env file for each container.
the benefits:
- less env vars to be set by the end user
- containers are only given vars relevant to them
- when running docker compose up, only containers affected by changed vars are restarted
This commit is contained in:
LukeVader-IV 2025-07-09 20:42:41 +02:00
parent cadea118d3
commit 6626cd90ec
No known key found for this signature in database
GPG key ID: 096E7629E34E4E51
2 changed files with 31 additions and 14 deletions

View file

@ -1,11 +1,9 @@
# 🌐 Frontend
PUBLIC_SERVER_URL=http://server:8000 # PLEASE DON'T CHANGE :) - Should be the service name of the backend with port 8000, even if you change the port in the backend service. Only change if you are using a custom more complex setup.
ORIGIN=http://localhost:8015
FRONTEND_URL=http://localhost:8014 # URL that is allowed to be used for accessing the frontend
BODY_SIZE_LIMIT=Infinity
FRONTEND_PORT=8015
FRONTEND_PORT=8014 # port used in the internal network (outside docker)
# 🐘 PostgreSQL Database
PGHOST=db
POSTGRES_DB=database
POSTGRES_USER=adventure
POSTGRES_PASSWORD=changeme123
@ -15,11 +13,8 @@ SECRET_KEY=changeme123
DJANGO_ADMIN_USERNAME=admin
DJANGO_ADMIN_PASSWORD=admin
DJANGO_ADMIN_EMAIL=admin@example.com
PUBLIC_URL=http://localhost:8016 # Match the outward port, used for the creation of image urls
CSRF_TRUSTED_ORIGINS=http://localhost:8016,http://localhost:8015
DEBUG=False
FRONTEND_URL=http://localhost:8015 # Used for email generation. This should be the url of the frontend
BACKEND_PORT=8016
BACKEND_URL=http://localhost:8017 # URL that is allowed to be used for accessing the backend, used for the creation of image urls
BACKEND_PORT=8017 # port exposed to the internal network (outside docker)
# Optional: use Google Maps integration
# https://adventurelog.app/docs/configuration/google_maps_integration.html
@ -44,4 +39,4 @@ DISABLE_REGISTRATION=False
# Optional: Use Umami for analytics
# https://adventurelog.app/docs/configuration/analytics.html
# PUBLIC_UMAMI_SRC=https://cloud.umami.is/script.js # If you are using the hosted version of Umami
# PUBLIC_UMAMI_WEBSITE_ID=
# PUBLIC_UMAMI_WEBSITE_ID=

View file

@ -4,7 +4,11 @@ services:
image: ghcr.io/seanmorley15/adventurelog-frontend:latest
container_name: adventurelog-frontend
restart: unless-stopped
env_file: .env
environment:
- PUBLIC_SERVER_URL=http://server:8000 # PLEASE DON'T CHANGE :) - Should be the service name of the backend with port 8000, even if you change the port in the backend service. Only change if you are using a custom more complex setup.
- ORIGIN=${FRONTENT_URL:-http://localhost:8015}
- BODY_SIZE_LIMIT=${BODY_SIZE_LIMIT:-Infinity}
#- FRONTEND_PORT=${FRONTEND_PORT=:-8015}
ports:
- "${FRONTEND_PORT:-8015}:3000"
depends_on:
@ -14,16 +18,34 @@ services:
image: postgis/postgis:16-3.5
container_name: adventurelog-db
restart: unless-stopped
env_file: .env
environment:
- POSTGRES_DB=${POSTGRES_DB:-database}
- POSTGRES_USER=${POSTGRES_USER:-adventure}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-changeme123}
volumes:
- postgres_data:/var/lib/postgresql/data/
server:
#build: ./backend/
image: ghcr.io/seanmorley15/adventurelog-backend:latest
#image: ghcr.io/seanmorley15/adventurelog-backend:latest
image: 9f0471e8d7f872adf81dc41c9296f99fbadac01edb26e
container_name: adventurelog-backend
restart: unless-stopped
env_file: .env
environment:
- PGHOST=db
- POSTGRES_DB=${POSTGRES_DB:-database}
- POSTGRES_USER=${POSTGRES_USER:-adventure}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-changeme123}
- SECRET_KEY=${SECRET_KEY:-changeme123}
- DJANGO_ADMIN_USERNAME=${DJANGO_ADMIN_USERNAME:-admin}
- DJANGO_ADMIN_PASSWORD=${DJANGO_ADMIN_PASSWORD:-admin}
- DJANGO_ADMIN_EMAIL=${DJANGO_ADMIN_EMAIL:-admin@example.com}
- PUBLIC_URL=${BACKEND_URL:-http://localhost:8016}
- CSRF_TRUSTED_ORIGINS=${FRONTEND_URL:-http://localhost:8015},${BACKEND_URL:-http://localhost:8016}
- DEBUG=False
- FRONTEND_URL=${FRONTEND_URL:-http://localhost:8015} # Used for email generation. This should be the url of the frontend
- BACKEND_PORT=${BACKEND_PORT:-8016}
ports:
- "${BACKEND_PORT:-8016}:80"
depends_on: