253 lines
5.0 KiB
YAML
253 lines
5.0 KiB
YAML
---
|
|
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
|
|
|
|
|