Files
mailadmin/docker-compose.yml
2026-04-26 13:47:35 -05:00

55 lines
1.9 KiB
YAML

services:
mailadmin-db:
image: postgres:16
container_name: mailadmin-db
restart: unless-stopped
environment:
POSTGRES_DB: mailadmin
POSTGRES_USER: mailadmin
POSTGRES_PASSWORD: ${MAILADMIN_DB_PASSWORD:-change-me}
volumes:
- ./data/postgres:/var/lib/postgresql/data
networks:
- mail_network
mailadmin:
build:
context: .
dockerfile: backend/Dockerfile
container_name: mailadmin
restart: unless-stopped
depends_on:
- mailadmin-db
environment:
NODE_ENV: production
PORT: 3000
PUBLIC_DIR: /app/frontend
DATABASE_URL: postgres://mailadmin:${MAILADMIN_DB_PASSWORD:-change-me}@mailadmin-db:5432/mailadmin
JWT_SECRET: ${MAILADMIN_JWT_SECRET:-change-this-long-random-secret}
COOKIE_SECURE: "true"
ADMIN_EMAIL: ${MAILADMIN_ADMIN_EMAIL:-admin@example.com}
ADMIN_PASSWORD: ${MAILADMIN_ADMIN_PASSWORD:-ChangeMe123!}
NODE_NAME: ${NODE_NAME:-node1}
NODE_HOSTNAME: ${NODE_HOSTNAME:-node1.email-srvr.com}
DMS_CONTAINER: ${DMS_CONTAINER:-mailserver}
MANAGE_MAIL_USER_SCRIPT: /host/email-amazon/basic_setup/manage_mail_user.sh
MAILDATA_PATH: /mail-data
AWS_REGION: ${AWS_REGION:-us-east-2}
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID:-}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY:-}
DYNAMODB_RULES_TABLE: ${DYNAMODB_RULES_TABLE:-email-rules}
DYNAMODB_BLOCKED_TABLE: ${DYNAMODB_BLOCKED_TABLE:-email-blocked-senders}
volumes:
# Needed so backend can call docker exec mailserver.
- /var/run/docker.sock:/var/run/docker.sock
# Adjust this path to your repository root on the host.
- /home/aknuth/git/email-amazon:/host/email-amazon:ro
# Adjust this path to your DMS mail-data directory.
- /home/aknuth/git/email-amazon/DMS/docker-data/dms/mail-data:/mail-data:ro
networks:
- mail_network
networks:
mail_network:
external: true