datacoop.ansible/roles/docker/tasks/services/mailman.yml

73 lines
2.3 KiB
YAML

---
- name: run mailman server containers
docker_compose:
project_name: "mailman"
definition:
version: '2'
services:
mailman-web:
image: maxking/mailman-web:0.3.5
depends_on:
- database
links:
- database:database
volumes:
- /opt/mailman/web:/opt/mailman-web-data
environment:
DATABASE_TYPE: "postgres"
DATABASE_URL: "postgres://mailman:{{ mailman_secrets.postgres_password }}@database/mailmandb"
HYPERKITTY_API_KEY: "{{ mailman_secrets.hyperkitty_api_key }}"
SERVE_FROM_DOMAIN: "lists.data.coop"
MAILMAN_ADMIN_USER: "valberg"
MAILMAN_ADMIN_EMAIL: "valberg@orn.li"
SECRET_KEY: "{{ mailman_secrets.django_secret_key }}"
VIRTUAL_HOST: "lists.data.coop"
VIRTUAL_PORT: 8000
LETSENCRYPT_HOST: "lists.data.coop"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
networks:
- "mailman"
- "postfix"
- "external_services"
mailman-core:
image: maxking/mailman-core:0.3
volumes:
- /opt/mailman/core:/opt/mailman/
stop_grace_period: 30s
links:
- mailman-web:mailmain-web
- database:database
depends_on:
- database
environment:
DATABASE_URL: "postgres://mailman:{{ mailman_secrets.postgres_password }}@database/mailmandb"
DATABASE_TYPE: "postgres"
DATABASE_CLASS: "mailman.database.postgresql.PostgreSQLDatabase"
HYPERKITTY_API_KEY: "{{ mailman_secrets.hyperkitty_api_key }}"
networks:
- "mailman"
- "postfix"
- "external_services"
database:
environment:
POSTGRES_DB: mailmandb
POSTGRES_USER: mailman
POSTGRES_PASSWORD: "{{ mailman_secrets.postgres_password }}"
restart: always
image: postgres:13
volumes:
- /opt/mailman/database:/var/lib/postgresql/data
networks:
- "mailman"
networks:
mailman:
postfix:
external: true
external_services:
external: true