This commit is contained in:
Andrew Hurley 2022-11-07 01:50:41 +11:00
parent f00e9756e7
commit 1ddecb3596
5 changed files with 240 additions and 167 deletions

View File

@ -24,6 +24,7 @@ sudo docker run --rm \
-v docker_porta-data:/source/docker_porta-data:ro \ -v docker_porta-data:/source/docker_porta-data:ro \
-v docker_redis-data:/source/docker_redis-data:ro \ -v docker_redis-data:/source/docker_redis-data:ro \
-v docker_smtp-queue:/source/docker_smtp-queue:ro \ -v docker_smtp-queue:/source/docker_smtp-queue:ro \
-v docker_swag-config:/source/docker_swag-config:ro \
-v docker_webmail-data:/source/docker_webmail-data:ro \ -v docker_webmail-data:/source/docker_webmail-data:ro \
-v docker_webmail-overrides:/source/docker_webmail-overrides:ro \ -v docker_webmail-overrides:/source/docker_webmail-overrides:ro \
blacklabelops/volumerize:1.7.1 backup blacklabelops/volumerize:1.7.1 backup

152
docker-compose-mailu.yml Normal file
View File

@ -0,0 +1,152 @@
networks:
mailu:
driver: bridge
name: mailu
ipam:
driver: default
config:
- subnet: 192.168.2.0/24
front:
external: true
volumes:
redis-data:
front-overrides:
admin-data:
admin-dkim:
imap-mail:
smtp-queue:
antispam-filter:
webmail-data:
webmail-overrides:
services:
resolver:
image: docker.io/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: docker.io/mailu/nginx:${MAILU_VERSION:-1.9}
restart: always
env_file: ${CONF?err}mailu.env
logging:
driver: journald
options:
tag: docker-front
ports:
- "25:25"
- "465:465"
- "143:143"
- "993:993"
- "587:587"
- "110:110"
- "995:995"
volumes:
- ${BIND?err}front-overrides:/overrides
- ${CERT?err}:/certs:ro
depends_on:
- resolver
networks:
- mailu
- front
dns:
- 192.168.2.254
admin:
image: docker.io/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: docker.io/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: docker.io/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: docker.io/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: docker.io/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

View File

@ -1,33 +1,21 @@
networks: networks:
mailu: front:
driver: bridge external: true
name: mailu
ipam:
driver: default
config:
- subnet: 192.168.2.0/24
local: local:
internal: true internal: false
nextc: nextc:
internal: true internal: true
volumes: volumes:
redis-data: swag-config:
front-overrides:
admin-data:
admin-dkim:
imap-mail:
smtp-queue:
antispam-filter:
webmail-data:
webmail-overrides:
ggrav-html: ggrav-html:
nextc-html: nextc-html:
nextc-config:
nextc-db: nextc-db:
nextc-db-config:
onlyo-ds-log: onlyo-ds-log:
onlyo-ds-lib: onlyo-ds-lib:
onlyo-ds-www: onlyo-ds-www:
@ -38,134 +26,42 @@ volumes:
services: services:
resolver: swag:
image: ${DORG?err}/mailu/unbound:${MAILU_VERSION:-1.9} image: andrew/swag:1.31.0
env_file: ${CONF?err}mailu.env build:
restart: always context: https://cor.cherished.me/gt/andrew/build-swag.git
networks:
mailu:
ipv4_address: 192.168.2.254
redis:
image: redis:alpine
restart: always restart: always
environment:
- PUID=1000
- PGID=2000
- TZ=Australia/Perth
- URL=dserver.cherished.me
- VALIDATION=http
- SUBDOMAINS=
- CERTPROVIDER=
- DNSPLUGIN=
- PROPAGATION=
- EMAIL=
- ONLY_SUBDOMAINS=false
- EXTRA_DOMAINS=
- STAGING=false
volumes: volumes:
- ${BIND?err}redis-data:/data - ${BIND?err}swag-config:/config
depends_on: - ${CERT?err}cherished.me.chained.crt:/defaults/custom-cert.crt:ro
- resolver - ${CERT?err}cherished.me.key:/defaults/custom-cert.key:ro
networks: - ${CONF?err}ggrav.subfolder.conf:/config/nginx/proxy-confs/ggrav.subfolder.conf:ro
- mailu - ${CONF?err}mailu.subfolder.conf:/config/nginx/proxy-confs/mailu.subfolder.conf:ro
dns: - ${CONF?err}nextc.subfolder.conf:/config/nginx/proxy-confs/nextc.subfolder.conf:ro
- 192.168.2.254 - ${CONF?err}swag-index.html:/config/www/index.html:ro
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: ports:
- "80:80" - "80:80"
- "443:443" - "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: depends_on:
- resolver - ggrav
networks: networks:
- mailu
- local - 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 - 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: ggrav:
image: andrew/getgrav:1.7.37.1 image: andrew/getgrav:1.7.37.1
build: build:
@ -174,10 +70,12 @@ services:
- "GRAV_VERSION=1.7.37.1" - "GRAV_VERSION=1.7.37.1"
- "GRAV_SUBDIR=html/gv" - "GRAV_SUBDIR=html/gv"
restart: always restart: always
logging:
driver: journald
options:
tag: docker-ggrav
volumes: volumes:
- ${BIND?err}ggrav-html:/var/www/html - ${BIND?err}ggrav-html:/var/www/html
env_file:
- ${CONF?err}ggrav.env
healthcheck: healthcheck:
test: ["CMD-SHELL","curl -fsS http://localhost/gv/"] test: ["CMD-SHELL","curl -fsS http://localhost/gv/"]
interval: 20s interval: 20s
@ -187,47 +85,36 @@ services:
- local - local
nextc: nextc:
image: andrew/nextcloud:24.0 image: lscr.io/linuxserver/nextcloud:25.0.0
build:
context: https://cor.cherished.me/gt/andrew/build-nextcloud.git
args:
- "VERSION=24.0"
- "PUID=1000"
restart: always restart: always
volumes: volumes:
- ${BIND?err}nextc-html:/var/www/html - ${BIND?err}nextc-config:/config
- ${DATA?err}:/ncdata - ${DATA?err}ncdata:/ncdata
- ${FMED?err}:/fmedia environment:
env_file: - PUID=1000
- ${CONF?err}nextc.env - PGID=2000
- TZ=Australia/Perth
depends_on: depends_on:
- nextc-db - nextc-db
healthcheck:
test: ["CMD_SHELL","curl -fsS http://localhost"]
interval: 20s
timeout: 5s
retries: 5
networks: networks:
- local - local
- nextc - nextc
nextc-db: nextc-db:
image: ${DORG?err}/mariadb:10.8 image: lscr.io/linuxserver/mariadb:10.6.10
restart: always restart: always
volumes: volumes:
- ${BIND?err}nextc-db:/var/lib/mysql - ${BIND?err}nextc-db-config:/config
env_file: environment:
- ${CONF?err}nextc-db.env - PUID=1000
healthcheck: - PGID=2000
test: ["CMD-SHELL","/usr/bin/mysql -hlocalhost -p$$MARIADB_ROOT_PASSWORD --execute=\"use ncdb;\""] - TZ=Australia/Perth
interval: 20s - REMOTE_SQL=
timeout: 5s
retries: 5
networks: networks:
- nextc - nextc
onlyo-ds: onlyo-ds:
image: ${DORG?err}/onlyoffice/documentserver:7.1 image: docker.io/onlyoffice/documentserver:7.1
restart: always restart: always
volumes: volumes:
- ${CONF?err}onlyo-ds.crt:/onlyo-ds.crt:ro - ${CONF?err}onlyo-ds.crt:/onlyo-ds.crt:ro
@ -239,8 +126,37 @@ services:
- ${BIND?err}onlyo-ds-rb:/var/lib/rabbitmq - ${BIND?err}onlyo-ds-rb:/var/lib/rabbitmq
- ${BIND?err}onlyo-ds-rd:/var/lib/redis - ${BIND?err}onlyo-ds-rd:/var/lib/redis
- ${BIND?err}onlyo-ds-font:/usr/share/fonts/truetype/custom - ${BIND?err}onlyo-ds-font:/usr/share/fonts/truetype/custom
env_file: environment:
- ${CONF?err}onlyo-ds.env - ONLYOFFICE_HTTPS_HSTS_ENABLED=true
- ONLYOFFICE_HTTPS_HSTS_MAXAGE=
- SSL_CERTIFICATE_PATH=/onlyo-ds.crt
- SSL_KEY_PATH=/onlyo-ds.key
- SSL_DHPARAM_PATH=
- SSL_VERIFY_CLIENT=
- DB_TYPE=
- DB_HOST=
- DB_PORT=
- DB_NAME=
- DB_USER=
- DB_PWD=
- AMQP_URI=
- AMQP_TYPE=
- REDIS_SERVER_HOST=
- REDIS_SERVER_PORT=
- NGINX_WORKER_PROCESSES=
- NGINX_WORKER_CONNECTIONS=
- JWT_ENABLED=
- JWT_SECRET=
- JWT_HEADER=
- JWT_IN_BODY=
- USE_UNAUTHORIZED_STORAGE=
- GENERATE_FONTS=
- METRICS_ENABLED=
- METRICS_HOST=
- METRICS_PORT=
- METRICS_PREFIX=
- LETS_ENCRYPT_DOMAIN=
- LETS_ENCRYPT_MAIL=
networks: networks:
- local - local

View File

@ -24,6 +24,7 @@ sudo docker run --rm \
-v docker_porta-data:/source/docker_porta-data \ -v docker_porta-data:/source/docker_porta-data \
-v docker_redis-data:/source/docker_redis-data \ -v docker_redis-data:/source/docker_redis-data \
-v docker_smtp-queue:/source/docker_smtp-queue \ -v docker_smtp-queue:/source/docker_smtp-queue \
-v docker_swag-config:/source/docker_swag-config \
-v docker_webmail-data:/source/docker_webmail-data \ -v docker_webmail-data:/source/docker_webmail-data \
-v docker_webmail-overrides:/source/docker_webmail-overrides \ -v docker_webmail-overrides:/source/docker_webmail-overrides \
blacklabelops/volumerize:1.7.1 restore blacklabelops/volumerize:1.7.1 restore

3
nextc-install.log Normal file
View File

@ -0,0 +1,3 @@
ROOTPASS: YHBXAnpcT9
USERNAME: Andrew
USERPASS: nk5x