Files
STANDART/docker-compose.yml
2025-10-24 03:11:15 +02:00

117 lines
2.8 KiB
YAML

services:
# backend:
# container_name: backend-e-trznice
# build:
# context: ./backend
# dockerfile: dockerfile
# restart: always
# env_file:
# - ./backend/.env
# networks:
# - app_network
# depends_on:
# - db
# - redis
# volumes:
# - static-data:/app/collectedstaticfiles
# - media-data:/app/media
# command: sh -c "
# python manage.py migrate --verbosity 3 --noinput &&
# python manage.py check &&
# python manage.py collectstatic --clear --noinput --verbosity 3 &&
# python manage.py seed_app_config &&
# gunicorn -k uvicorn.workers.UvicornWorker trznice.asgi:application --bind 0.0.0.0:8000"
# ports:
# - "8000:8000"
# db:
# image: postgres:15-alpine
# container_name: postgres-e-trznice
# restart: always
# env_file:
# - ./backend/.env
# volumes:
# - db-data:/var/lib/postgresql/data
# ports:
# - "5432:5432"
# networks:
# - app_network
# redis: #extremly fast db, stores data in RAM memory
# container_name: redis-e-trznice
# image: redis:alpine
# restart: always
# env_file:
# - ./backend/.env
# volumes:
# - redis-data:/data
# expose:
# - "6379"
# networks:
# - app_network
# celery: #task queue for handling asynchronous/hard tasks
# container_name: celery-e-trznice
# build:
# context: ./backend
# dockerfile: dockerfile
# command: sh -c "python manage.py migrate --noinput && celery -A trznice worker --loglevel=info"
# restart: always
# env_file:
# - ./backend/.env
# depends_on:
# - redis
# - db
# - backend
# networks:
# - app_network
# celery-beat: #periodic tasks scheduler
# container_name: celery-beat-e-trznice
# build:
# context: ./backend
# dockerfile: dockerfile
# command: sh -c "python manage.py migrate --noinput && celery -A trznice beat --loglevel=info"
# restart: always
# env_file:
# - ./backend/.env
# depends_on:
# - redis
# - db
# - backend
# networks:
# - app_network
#end of backend services -----------------------
nginx: #web server, reverse proxy, serves static files
container_name: nginx-STANDART
build:
context: ./frontend
dockerfile: Dockerfile.prod
env_file:
- ./frontend/.env
ports:
- 80:80
# - 9000:80
# depends_on:
# - backend
networks:
- app_network
volumes:
- static-data:/app/collectedstaticfiles # static (Django)
- media-data:/app/media # media (Django)
- ./frontend/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
networks:
app_network:
driver: bridge
volumes:
redis-data:
db-data:
static-data:
media-data: