First Commit

This commit is contained in:
Andrew Hurley 2022-12-01 23:13:11 +11:00
commit 085a08c22f
4 changed files with 196 additions and 0 deletions

5
.env Normal file
View File

@ -0,0 +1,5 @@
CONF=../config/
BIND=
CERT=../srvtls/
DATA=../cndata/
USER=1000

19
docker-backup.sh Executable file
View File

@ -0,0 +1,19 @@
#!/bin/bash
docker run --rm \
--name volumerize \
-e TZ=Australia/Perth \
-e VOLUMERIZE_SOURCE=/source \
-e VOLUMERIZE_TARGET=file:///backup \
-v backup_mailus-cache:/volumerize-cache \
-v backup_mailus-volume:/backup \
-v mailus_admin-data:/source/mailus_admin-data:ro \
-v mailus_admin-dkim:/source/mailus_admin-dkim:ro \
-v mailus_antispam-filter:/source/mailus_antispam-filter:ro \
-v mailus_front-overrides:/source/mailus_front-overrides:ro \
-v mailus_imap-mail:/source/mailus_imap-mail:ro \
-v mailus_redis-data:/source/mailus_redis-data:ro \
-v mailus_smtp-queue:/source/mailus_smtp-queue:ro \
-v mailus_webmail-data:/source/mailus_webmail-data:ro \
-v mailus_webmail-overrides:/source/mailus_webmail-overrides:ro \
blacklabelops/volumerize:1.7.1 backup

153
docker-compose.yml Normal file
View File

@ -0,0 +1,153 @@
networks:
mailu:
driver: bridge
name: mailu
ipam:
driver: default
config:
- subnet: 192.168.2.0/24
internal: false
share:
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"
- "587:587"
- "143:143"
- "993:993"
- "110:110"
- "995:995"
volumes:
- ${BIND?err}front-overrides:/overrides
- ${CERT?err}:/certs:ro
depends_on:
- resolver
networks:
- mailu
- share
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

19
docker-restore.sh Executable file
View File

@ -0,0 +1,19 @@
#!/bin/bash
docker run --rm \
--name volumerize \
-e TZ=Australia/Perth \
-e VOLUMERIZE_SOURCE=/source \
-e VOLUMERIZE_TARGET=file:///backup \
-v backup_mailus-cache:/volumerize-cache \
-v backup_mailus-volume:/backup:ro \
-v mailus_admin-data:/source/mailus_admin-data \
-v mailus_admin-dkim:/source/mailus_admin-dkim \
-v mailus_antispam-filter:/source/mailus_antispam-filter \
-v mailus_front-overrides:/source/mailus_front-overrides \
-v mailus_imap-mail:/source/mailus_imap-mail \
-v mailus_redis-data:/source/mailus_redis-data \
-v mailus_smtp-queue:/source/mailus_smtp-queue \
-v mailus_webmail-data:/source/mailus_webmail-data \
-v mailus_webmail-overrides:/source/mailus_webmail-overrides \
blacklabelops/volumerize:1.7.1 restore