version: '2' services: mailman-core: image: maxking/mailman-core:0.4 # Use a specific version tag (tag latest is not published) container_name: mailman-core hostname: mailman-core restart: unless-stopped volumes: - /opt/mailman/core:/opt/mailman/ stop_grace_period: 30s links: - database:database depends_on: - database environment: - DATABASE_URL=postgresql://mailman:mailmanpass@database/mailmandb - DATABASE_TYPE=postgres - DATABASE_CLASS=mailman.database.postgresql.PostgreSQLDatabase - HYPERKITTY_API_KEY=someapikey ports: - "127.0.0.1:8001:8001" # API - "127.0.0.1:8024:8024" # LMTP - incoming emails networks: mailman: mailman-web: image: maxking/mailman-web:0.4 # Use a specific version tag (tag latest is not published) container_name: mailman-web hostname: mailman-web restart: unless-stopped depends_on: - database links: - mailman-core:mailman-core - database:database volumes: - /opt/mailman/web:/opt/mailman-web-data environment: - DATABASE_TYPE=postgres - DATABASE_URL=postgresql://mailman:mailmanpass@database/mailmandb - HYPERKITTY_API_KEY=someapikey ports: - "127.0.0.1:8000:8000" # HTTP - "127.0.0.1:8080:8080" # uwsgi networks: mailman: database: environment: - POSTGRES_DB=mailmandb - POSTGRES_USER=mailman - POSTGRES_PASSWORD=mailmanpass image: postgres:12-alpine volumes: - /opt/mailman/database:/var/lib/postgresql/data networks: mailman: networks: mailman: driver: bridge ipam: driver: default config: - subnet: 172.19.199.0/24