--- networks: mailu: driver: bridge name: mailu ipam: driver: default config: - subnet: 192.168.2.0/24 local: internal: true gitea: internal: true passb: internal: true volumes: redis-data: front-overrides: admin-data: admin-dkim: imap-mail: smtp-queue: antispam-filter: webmail-data: webmail-overrides: searx-etc: searx-uwsgi: gitea-data: gitea-db: passb-gpg: passb-jwt: passb-db: regty-store: services: resolver: image: ${DORG?err}/mailu/unbound:${MAILU_VERSION:-1.9} env_file: ${CONF?err}mailu.env restart: always networks: mailu: ipv4_address: 192.168.2.254 redis: image: ${DORG?err}/redis:alpine restart: always volumes: - ${BIND?err}redis-data:/data depends_on: - resolver networks: - mailu dns: - 192.168.2.254 front: image: ${DORG?err}/mailu/nginx:${MAILU_VERSION:-1.9} restart: always env_file: ${CONF?err}mailu.env logging: driver: journald options: tag: docker-front ports: - "80:80" - "443:443" - "25:25" - "465:465" - "143:143" - "993:993" - "587:587" - "110:110" - "995:955" volumes: - ${BIND?err}front-overrides:/overrides - ${CERT?err}:/certs:ro - ${CONF?err}mailu-front-overrides.conf:/overrides/overrides.conf:ro depends_on: - resolver networks: - mailu - local dns: - 192.168.2.254 admin: image: ${DORG?err}/mailu/admin:${MAILU_VERSION:-1.9} restart: always env_file: - ${CONF?err}mailu.env volumes: - ${BIND?err}admin-data:/data - ${BIND?err}admin-dkim:/dkim depends_on: - redis - resolver networks: - mailu dns: - 192.168.2.254 imap: image: ${DORG?err}/mailu/dovecot:${MAILU_VERSION:-1.9} restart: always env_file: - ${CONF?err}mailu.env volumes: - ${BIND?err}imap-mail:/mail depends_on: - front - resolver networks: - mailu dns: - 192.168.2.254 smtp: image: ${DORG?err}/mailu/postfix:${MAILU_VERSION:-1.9} restart: always env_file: ${CONF?err}mailu.env volumes: - ${BIND?err}smtp-queue:/queue depends_on: - front - resolver networks: - mailu dns: - 192.168.2.254 antispam: image: ${DORG?err}/mailu/rspamd:${MAILU_VERSION:-1.9} hostname: antispam restart: always env_file: - ${CONF?err}mailu.env volumes: - ${BIND?err}antispam-filter:/var/lib/rspamd depends_on: - front - resolver networks: - mailu dns: - 192.168.2.254 webmail: image: ${DORG?err}/mailu/roundcube:${MAILU_VERSION:-1.9} restart: always env_file: - ${CONF?err}mailu.env volumes: - ${BIND?err}webmail-data:/data - ${BIND?err}webmail-overrides:/overrides depends_on: - front - imap - resolver networks: - mailu dns: - 192.168.2.254 regty: image: ${DORG?err}/registry:2 restart: always volumes: - ${BIND?err}regty-store:/var/lib/registry - ${CONF?err}regty-config.yml:/etc/docker/registry/config.yml:ro - ${CONF?err}regty-htpasswd:/htpasswd:ro env_file: - ${CONF}regty.env networks: - local searx: image: ${DORG?err}/searx/searx restart: always volumes: - ${BIND?err}searx-etc:/etc/searx - ${BIND?err}searx-uwsgi:/var/log/uwsgi env_file: - ${CONF?err}searx.env networks: - local gitea: image: ${DORG?err}/gitea/gitea:1.16.9 restart: always volumes: - ${BIND?err}gitea-data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro env_file: - ${CONF?err}gitea.env depends_on: - gitea-db networks: - local - gitea gitea-db: image: ${DORG?err}/mariadb:10.8 restart: always volumes: - ${BIND?err}gitea-db:/var/lib/mysql env_file: - ${CONF?err}gitea-db.env healthcheck: test: ["CMD-SHELL","/usr/bin/mysql -hlocalhost -p$$MARIADB_ROOT_PASSWORD --execute=\"use gtdb;\""] interval: 20s timeout: 5s retries: 5 networks: - gitea passb: image: ${DORG?err}/passbolt/passbolt:3.7.2-1-ce restart: always volumes: - ${BIND?err}passb-gpg:/etc/passbolt/gpg - ${BIND?err}passb-jwt:/etc/passbolt/jwt env_file: - ${CONF?err}passb.env depends_on: - passb-db command: ["/usr/bin/wait-for.sh", "-t", "0", "passb-db:3306", "--", "/docker-entrypoint.sh"] networks: - local - passb passb-db: image: ${DORG?err}/mariadb:10.8 restart: always volumes: - ${BIND?err}passb-db:/var/lib/mysql env_file: - ${CONF?err}passb-db.env healthcheck: test: ["CMD-SHELL","/usr/bin/mysql -hlocalhost -p$$MARIADB_ROOT_PASSWORD --execute=\"use pbdb;\""] interval: 20s timeout: 5s retries: 5 networks: - passb