First Commit

This commit is contained in:
Andrew Hurley 2022-10-26 22:39:17 +11:00
commit 0dd964e121
4 changed files with 306 additions and 0 deletions

0
README.md Normal file
View File

27
docker-backup.sh Executable file
View File

@ -0,0 +1,27 @@
#!/bin/bash
sudo docker run --rm \
--name volumerize \
-e TZ=Australia/Perth \
-e VOLUMERIZE_SOURCE=/source \
-e VOLUMERIZE_TARGET=file:///backup \
-v backup_docker-cache:/volumerize-cache \
-v backup_docker-volume:/backup \
-v docker_admin-data:/source/docker_admin-data:ro \
-v docker_admin-dkim:/source/docker_admin-dkim:ro \
-v docker_antispam-filter:/source/docker_antispam-filter:ro \
-v docker_front-overrides:/source/docker_front-overrides:ro \
-v docker_gitea-data:/source/docker_gitea-data:ro \
-v docker_gitea-db:/source/docker_gitea-db:ro \
-v docker_imap-mail:/source/docker_imap-mail:ro \
-v docker_passb-db:/source/docker_passb-db:ro \
-v docker_passb-gpg:/source/docker_passb-gpg:ro \
-v docker_passb-jwt:/source/docker_passb-jwt:ro \
-v docker_redis-data:/source/docker_redis-data:ro \
-v docker_regty-store:/source/docker_regty-store:ro \
-v docker_searx-etc:/source/docker_searx-etc:ro \
-v docker_searx-uwsgi:/source/docker_searx-uwsgi:ro \
-v docker_smtp-queue:/source/docker_smtp-queue:ro \
-v docker_webmail-data:/source/docker_webmail-data:ro \
-v docker_webmail-overrides:/source/docker_webmail-overrides:ro \
blacklabelops/volumerize:1.7.1 backup

252
docker-compose.yml Normal file
View File

@ -0,0 +1,252 @@
---
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

27
docker-restore.sh Executable file
View File

@ -0,0 +1,27 @@
#!/bin/bash
sudo docker run --rm \
--name volumerize \
-e TZ=Australia/Perth \
-e VOLUMERIZE_SOURCE=/source \
-e VOLUMERIZE_TARGET=file:///backup \
-v backup_docker-cache:/volumerize-cache \
-v backup_docker-volume:/backup:ro \
-v docker_admin-data:/source/docker_admin-data \
-v docker_admin-dkim:/source/docker_admin-dkim \
-v docker_antispam-filter:/source/docker_antispam-filter \
-v docker_front-overrides:/source/docker_front-overrides \
-v docker_gitea-data:/source/docker_gitea-data \
-v docker_gitea-db:/source/docker_gitea-db \
-v docker_imap-mail:/source/docker_imap-mail \
-v docker_passb-db:/source/docker_passb-db \
-v docker_passb-gpg:/source/docker_passb-gpg \
-v docker_passb-jwt:/source/docker_passb-jwt \
-v docker_redis-data:/source/docker_redis-data \
-v docker_regty-store:/source/docker_regty-store \
-v docker_searx-etc:/source/docker_searx-etc \
-v docker_searx-uwsgi:/source/docker_searx-uwsgi \
-v docker_smtp-queue:/source/docker_smtp-queue \
-v docker_webmail-data:/source/docker_webmail-data \
-v docker_webmail-overrides:/source/docker_webmail-overrides \
blacklabelops/volumerize:1.7.1 restore