Files
website-v2/docker-compose.yml
2023-05-20 09:27:20 -05:00

139 lines
2.4 KiB
YAML

version: "3.3"
services:
db:
image: postgres:12.0
env_file: .env
environment:
- "POSTGRES_HOST_AUTH_METHOD=trust"
networks:
- backend
volumes:
- postgres_data:/var/lib/postgresql/data/
ports:
- "$PGPORT:5432"
redis:
image: "redis:alpine"
networks:
- backend
volumes:
- redis_data:/data
web:
build:
context: .
dockerfile: docker/Dockerfile
command: [ "/bin/bash", "/code/docker/compose-start.sh" ]
depends_on:
- db
environment:
- "LOCAL_DEVELOPMENT=true"
- "DOCKER_DIR=/code/docker"
- "PYTHON=python"
- "WEB_PORT=8000"
env_file:
- .env
init: true
networks:
- backend
- frontend
ports:
- "8000:8000"
volumes:
- .:/code
- ../website2022/:/website
stop_signal: SIGKILL
mailman-core:
image: maxking/mailman-core
stop_grace_period: 5s
ports:
- "8001:8001" # API
- "8024:8024" # LMTP - incoming emails
volumes:
- ./mailman/core:/opt/mailman/
networks:
- backend
env_file:
- .env
depends_on:
- db
celery-worker:
build:
context: .
dockerfile: docker/Dockerfile
command:
[
"celery",
"-A",
"config",
"worker",
"--concurrency=10",
"--loglevel=debug"
]
env_file:
- .env
depends_on:
- db
- redis
mailman-web:
image: maxking/mailman-web
entrypoint: /opt/mailman-docker/compose-start.sh
environment:
- "DOCKER_DIR=/opt/mailman-docker"
- "PYTHON=python3"
- "WEB_PORT=8008"
depends_on:
- redis
- db
networks:
- backend
volumes:
- .:/code
stop_signal: SIGKILL
ports:
- "8008:8008" # HTTP
- "8080:8080" # uwsgi
volumes:
- ./mailman/web:/opt/mailman-web-data
- ./docker:/opt/mailman-docker
networks:
- backend
celery-beat:
build:
context: .
dockerfile: docker/Dockerfile
command:
[
"celery",
"-A",
"config",
"beat",
"--loglevel=debug"
]
env_file:
- .env
depends_on:
- db
- redis
networks:
- backend
volumes:
- .:/code
stop_signal: SIGKILL
networks:
backend:
frontend:
volumes:
postgres_data:
redis_data: