You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.5 KiB
66 lines
1.5 KiB
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
|