76 lines
1.5 KiB
YAML
76 lines
1.5 KiB
YAML
services:
|
|
web:
|
|
build: .
|
|
command: gunicorn website.wsgi:application
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
|
|
environment:
|
|
ALLOWED_HOSTS: ${NGINX_HOSTNAME}
|
|
DJANGO_SETTINGS_MODULE: ${DJANGO_SETTINGS_MODULE}
|
|
VIRTUAL_HOST: localhost
|
|
#VIRTUAL_PORT: 8000
|
|
restart: unless-stopped
|
|
volumes:
|
|
- static_volume:/app/static
|
|
- media_volume:/app/media
|
|
networks:
|
|
- frontend
|
|
- backend
|
|
|
|
|
|
db:
|
|
image: postgres:18
|
|
environment:
|
|
POSTGRES_DB: ${POSTGRES_DBNAME}
|
|
POSTGRES_USER: ${POSTGRES_USER}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DBNAME}"]
|
|
interval: 5s
|
|
retries: 5
|
|
networks:
|
|
- backend
|
|
|
|
adminer:
|
|
image: adminer
|
|
depends_on:
|
|
- db
|
|
restart: always
|
|
ports:
|
|
- 127.0.0.1:8080:8080
|
|
networks:
|
|
- backend
|
|
|
|
proxy:
|
|
image: nginx:stable
|
|
volumes:
|
|
- ./.nginx/.templates:/etc/nginx/templates
|
|
- static_volume:/app/static:ro
|
|
- media_volume:/app/media:ro
|
|
restart: unless-stopped
|
|
ports:
|
|
- 80:80
|
|
- 443:443
|
|
environment:
|
|
- NGINX_HOSTNAME=${NGINX_HOSTNAME}
|
|
- NGINX_PORT=80
|
|
- NGINX_SSL_PORT=443
|
|
depends_on:
|
|
- web
|
|
networks:
|
|
- frontend
|
|
|
|
networks:
|
|
frontend:
|
|
backend:
|
|
|
|
volumes:
|
|
postgres_data:
|
|
static_volume:
|
|
media_volume:
|