54 lines
1.9 KiB
YAML
54 lines
1.9 KiB
YAML
# Development override: point the web service to rad/.env.dev and map nginx to
|
|
# non-privileged host ports so you can run without sudo.
|
|
|
|
services:
|
|
web:
|
|
env_file:
|
|
- ../.env.dev
|
|
# Development: run Django's autoreloading development server instead of
|
|
# the production entrypoint/gunicorn. Mount the repository into the
|
|
# container so code edits on the host trigger Django's autoreload.
|
|
entrypoint: ["sh", "-c", "python manage.py collectstatic --noinput && python manage.py runserver 0.0.0.0:8000 --nothreading"]
|
|
# Clear any command set by the prod compose file (which would be passed
|
|
# as an extra argument to manage.py). Setting an empty command prevents
|
|
# the image `command` from being appended to the entrypoint.
|
|
command: []
|
|
volumes:
|
|
- ../:/usr/src/app:cached
|
|
# Mount the app log directory so logs are visible on the host at ./logs
|
|
- ../logs:/var/log/rad
|
|
- ../../media:/usr/src/app/media
|
|
- ../../static:/usr/src/app/static
|
|
- /home/ross/rts:/usr/src/app/rts
|
|
|
|
worker:
|
|
env_file:
|
|
- ../.env.dev
|
|
volumes:
|
|
- ../:/usr/src/app:cached
|
|
- ../logs:/var/log/rad
|
|
- ../../media:/usr/src/app/media
|
|
- ../../static:/usr/src/app/static
|
|
- /home/ross/rts:/usr/src/app/rts
|
|
entrypoint:
|
|
[
|
|
"sh",
|
|
"-c",
|
|
"python manage.py migrate --noinput && exec python manage.py db_worker",
|
|
]
|
|
command: []
|
|
nginx:
|
|
# Development nginx override: mount a simplified config that does not
|
|
# reference LetsEncrypt certs so the container can start without real
|
|
# certificates present on the host.
|
|
image: nginx:1.25-alpine
|
|
volumes:
|
|
- ../deploy/nginx/dev.conf:/etc/nginx/conf.d/default.conf:ro
|
|
- ../logs:/var/log/rad:rw
|
|
- ../../media:/usr/src/app/media:ro
|
|
- ../../static:/usr/src/app/static:ro
|
|
- /home/ross/rts:/usr/src/app/rts:ro
|
|
|
|
# No additional volumes required for local dev
|
|
|