Skip to content
Snippets Groups Projects
docker-compose.override.yml 2.32 KiB
version: '2'

services:


  mailman-core:
    container_name: mail_mailman-core
    restart: always
    volumes:
      - "{{ basedir }}/data/mailman-core:/opt/mailman:rw,z"
    environment:
      - DATABASE_URL=postgres://mailman:{{ postgres_mailman_pass }}@database/mailmandb
      - MTA=postfix
      - MM_HOSTNAME=mailman-core-mail
      - SMTP_HOST=postfix
      - SMTP_PORT=25
      - MAILMAN_REST_USER=mailman
      - MAILMAN_REST_PASSWORD={{ mailman_restapi_pass }}
      - HYPERKITTY_URL=http://mailman-web:8000/hyperkitty
      - HYPERKITTY_API_KEY={{ hyperkitty_api_key }}
    networks:
      mailman:
        aliases:
          - mailman-core
      mail:
        aliases:
          - mailman-core
          - mailman-core-mail


  mailman-web:
    container_name: mail_mailman-web
    restart: always
    volumes:
      - "{{ basedir }}/data/mailman-web:/opt/mailman-web-data:rw,z"
    environment:
      - DATABASE_URL=postgres://mailman:{{ postgres_mailman_pass }}@database/mailmandb
      - HYPERKITTY_API_KEY={{ hyperkitty_api_key }}
      - SECRET_KEY={{ mailman_secret_key }}
      - SERVE_FROM_DOMAIN=listserver.warpzone.ms
      - MAILMAN_REST_URL=http://mailman-core-mail:8001
      - MAILMAN_REST_USER=mailman
      - MAILMAN_REST_PASSWORD={{ mailman_restapi_pass }}
    networks:
      - mail
      - mailman


  nginx:
    container_name: mail_mailman-nginx
    image: nginx:1.24
    restart: always
    depends_on:
      - mailman-web
    volumes:
      - "{{ basedir }}/data/mailman-web/:/opt/mailman-web-data:ro,z"
      - "{{ basedir }}/docker-mailman/nginx.conf:/etc/nginx/conf.d/default.conf:ro" 
    labels:
      - traefik.enable=true
      - traefik.http.routers.{{ servicename }}-mailman.rule=Host(`listserver.warpzone.ms`) || Host(`lists.warpzone.ms`)
      - traefik.http.routers.{{ servicename }}-mailman.entrypoints=websecure
      - traefik.http.services.{{ servicename }}-mailman.loadbalancer.server.port=80
    networks:
      - mailman
      - web


  database:
    container_name: mail_mailman-db
    restart: always