server-travelmate1/docker-compose.yml

230 lines
4.4 KiB
YAML

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:
embys-config:
fsync-var:
nextc-html:
nextc-db:
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: on-failure:5
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
embys:
image: ${DORG?err}/emby/embyserver
restart: on-failure:5
env_file:
- ${CONF?err}embys.env
volumes:
- ${BIND?err}embys-config:/config
- ${DATA?err}fmedia:/fmedia
ports:
- "8097:8096"
networks:
- local
devices:
- /dev/dri:/dev/dri
fsync:
image: ${DORG?err}/syncthing/syncthing
restart: on-failure:5
volumes:
- ${BIND}fsync-var:/var/syncthing
- /srv/fmedia/Mobile/Andrew:/var/syncthing/Andrew
- /srv/fmedia/Mobile/Susan:/var/syncthing/Susan
ports:
- "8384:8384"
env_file:
- ${CONF?err}fsync.env
networks:
- local
nextc:
image: ${DORG?err}/nextcloud:24.0
build:
context: https://cor.cherished.me/gt/andrew/docker-nextcloud.git
args:
- "VERSION=24.0"
- "PUID=1000"
restart: on-failure:5
volumes:
- ${BIND?err}nextc-html:/var/www/html
- ${DATA?err}:/ncdata
- /srv/fmedia:/fmedia
ports:
- "8080:80"
env_file:
- ${CONF?err}nextc.env
depends_on:
- nextc-db
networks:
- local
- nextc
nextc-db:
image: ${DORG?err}/mariadb:10.8
restart: on-failure:5
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