networks: mailu: driver: bridge name: mailu ipam: driver: default config: - subnet: 192.168.2.0/24 local: internal: true nextc: internal: true volumes: redis-data: front-overrides: admin-data: admin-dkim: imap-mail: smtp-queue: antispam-filter: webmail-data: webmail-overrides: ggrav-html: nextc-html: nextc-db: onlyo-ds-log: onlyo-ds-lib: onlyo-ds-www: onlyo-ds-pg: onlyo-ds-rb: onlyo-ds-rd: onlyo-ds-font: 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: 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:995" 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 ggrav: image: andrew/getgrav:1.7.37.1 build: context: https://cor.cherished.me/gt/andrew/build-grav.git args: - "GRAV_VERSION=1.7.37.1" - "GRAV_SUBDIR=html/gv" restart: always volumes: - ${BIND?err}ggrav-html:/var/www/html env_file: - ${CONF?err}ggrav.env healthcheck: test: ["CMD-SHELL","curl -fsS http://localhost/gv/"] interval: 20s timeout: 5s retries: 5 networks: - local nextc: image: andrew/nextcloud:24.0 build: context: https://cor.cherished.me/gt/andrew/build-nextcloud.git args: - "VERSION=24.0" - "PUID=1000" restart: always volumes: - ${BIND?err}nextc-html:/var/www/html - ${DATA?err}:/ncdata - ${FMED?err}:/fmedia env_file: - ${CONF?err}nextc.env depends_on: - nextc-db healthcheck: test: ["CMD_SHELL","curl -fsS http://localhost"] interval: 20s timeout: 5s retries: 5 networks: - local - nextc nextc-db: image: ${DORG?err}/mariadb:10.8 restart: always volumes: - ${BIND?err}nextc-db:/var/lib/mysql env_file: - ${CONF?err}nextc-db.env healthcheck: test: ["CMD-SHELL","/usr/bin/mysql -hlocalhost -p$$MARIADB_ROOT_PASSWORD --execute=\"use ncdb;\""] interval: 20s timeout: 5s retries: 5 networks: - nextc onlyo-ds: image: ${DORG?err}/onlyoffice/documentserver:7.1 restart: always volumes: - ${CONF?err}onlyo-ds.crt:/onlyo-ds.crt:ro - ${CONF?err}onlyo-ds.key:/onlyo-ds.key:ro - ${BIND?err}onlyo-ds-log:/var/log/onlyoffice - ${BIND?err}onlyo-ds-lib:/var/lib/onlyoffice - ${BIND?err}onlyo-ds-www:/var/www/onlyoffice/Data - ${BIND?err}onlyo-ds-pg:/var/lib/postgresql - ${BIND?err}onlyo-ds-rb:/var/lib/rabbitmq - ${BIND?err}onlyo-ds-rd:/var/lib/redis - ${BIND?err}onlyo-ds-font:/usr/share/fonts/truetype/custom env_file: - ${CONF?err}onlyo-ds.env networks: - local