services: resit_backend: build: context: ./backend dockerfile: Dockerfile container_name: resit_backend ports: - "8000:8000" environment: DB_USER: ${POSTGRES_USER} DB_NAME: ${POSTGRES_DB} DB_HOST: db DB_PASSWORD: ${POSTGRES_PASSWORD} JWT_SECRET: ${JWT_SECRET} LOG_FILE: ${LOG_FILE} PORT: ${BACKEND_PORT} GMAIL_USER: ${GMAIL_USER} GMAIL_PASSWORD: ${GMAIL_PASSWORD} volumes: - ./backend/logs:/var/log/freetube - ./backend:/app depends_on: - db db: image: postgres:latest ports: - "5432:5432" environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} volumes: - db_data:/var/lib/postgresql/data frontend: image: nginx:latest ports: - "80:80" - "443:443" volumes: - ./frontend/dist:/usr/share/nginx/html - ./nginx/default.conf:/etc/nginx/conf.d/default.conf - ./nginx/nginx-selfsigned.crt:/etc/nginx/ssl/nginx-selfsigned.crt - ./nginx/nginx-selfsigned.key:/etc/nginx/ssl/nginx-selfsigned.key depends_on: - resit_backend mailpit: image: axllent/mailpit:latest ports: - "8025:8025" # Web UI - "1025:1025" # SMTP volumes: - mailpit-data:/data environment: # set where to store the database MP_DATABASE: /data/mailpit.db restart: unless-stopped volumes: db_data: driver: local mailpit-data: driver: local