--- - name: copy nginx configuration to link static files template: src: "templates/mailman/nginx_vhost" dest: "{{ nginx.volume_folder }}/vhost/lists.data.coop" mode: "0644" - name: run mailman server containers docker_compose: project_name: "mailman" definition: version: '3' services: mailman-core: image: maxking/mailman-core:0.3.11 volumes: - "{{ volume_root_folder }}/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 }}@172.19.199.4/mailmandb" DATABASE_TYPE: "postgres" DATABASE_CLASS: "mailman.database.postgresql.PostgreSQLDatabase" HYPERKITTY_API_KEY: "{{ mailman_secrets.hyperkitty_api_key }}" HYPERKITTY_URL: http://172.19.199.3:8000/hyperkitty MTA: "postfix" SMTP_HOST: "{{ smtp_host }}" SMTP_PORT: "{{ smtp_port }}" SMTP_HOST_USER: "noop" MM_HOSTNAME: "172.19.199.2" networks: mailman: ipv4_address: 172.19.199.2 postfix: external_services: mailman-web: image: maxking/mailman-web:0.3.11 depends_on: - database links: - database:database volumes: - "{{ volume_root_folder }}/mailman/web:/opt/mailman-web-data" environment: DATABASE_TYPE: "postgres" DATABASE_URL: "postgres://mailman:{{ mailman_secrets.postgres_password }}@172.19.199.4/mailmandb" HYPERKITTY_API_KEY: "{{ mailman_secrets.hyperkitty_api_key }}" DJANGO_ALLOWED_HOSTS: "lists.data.coop" SERVE_FROM_DOMAIN: "lists.data.coop" MAILMAN_ADMIN_USER: "valberg" MAILMAN_ADMIN_EMAIL: "valberg@orn.li" MAILMAN_REST_URL: "http://172.19.199.2:8001" SECRET_KEY: "{{ mailman_secrets.django_secret_key }}" SMTP_HOST: "{{ smtp_host }}" SMTP_PORT: "{{ smtp_port }}" VIRTUAL_HOST: "lists.data.coop" VIRTUAL_PORT: 8000 LETSENCRYPT_HOST: "lists.data.coop" LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}" networks: mailman: ipv4_address: 172.19.199.3 postfix: external_services: database: image: postgres:13 restart: always environment: POSTGRES_DB: mailmandb POSTGRES_USER: mailman POSTGRES_PASSWORD: "{{ mailman_secrets.postgres_password }}" volumes: - "{{ volume_root_folder }}/mailman/database:/var/lib/postgresql/data" networks: mailman: ipv4_address: 172.19.199.4 networks: mailman: driver: bridge ipam: driver: default config: - subnet: 172.19.199.0/24 postfix: external: true external_services: external: true