From 1ddecb3596aa178ef2d94e588efea322d5c9f623 Mon Sep 17 00:00:00 2001 From: Andrew Hurley Date: Mon, 7 Nov 2022 01:50:41 +1100 Subject: [PATCH] what --- docker-backup.sh | 1 + docker-compose-mailu.yml | 152 ++++++++++++++++++++++++ docker-compose.yml | 250 +++++++++++++-------------------------- docker-restore.sh | 1 + nextc-install.log | 3 + 5 files changed, 240 insertions(+), 167 deletions(-) create mode 100644 docker-compose-mailu.yml create mode 100644 nextc-install.log diff --git a/docker-backup.sh b/docker-backup.sh index 3a47153..0419f3c 100755 --- a/docker-backup.sh +++ b/docker-backup.sh @@ -24,6 +24,7 @@ sudo docker run --rm \ -v docker_porta-data:/source/docker_porta-data:ro \ -v docker_redis-data:/source/docker_redis-data: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-overrides:/source/docker_webmail-overrides:ro \ blacklabelops/volumerize:1.7.1 backup diff --git a/docker-compose-mailu.yml b/docker-compose-mailu.yml new file mode 100644 index 0000000..8d60e8c --- /dev/null +++ b/docker-compose-mailu.yml @@ -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 + diff --git a/docker-compose.yml b/docker-compose.yml index 7dbfa18..59184f5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,33 +1,21 @@ networks: - mailu: - driver: bridge - name: mailu - ipam: - driver: default - config: - - subnet: 192.168.2.0/24 + front: + external: true local: - internal: true + internal: false nextc: internal: true volumes: - redis-data: - front-overrides: - admin-data: - admin-dkim: - imap-mail: - smtp-queue: - antispam-filter: - webmail-data: - webmail-overrides: - + swag-config: ggrav-html: nextc-html: + nextc-config: nextc-db: + nextc-db-config: onlyo-ds-log: onlyo-ds-lib: onlyo-ds-www: @@ -38,134 +26,42 @@ volumes: 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 + swag: + image: andrew/swag:1.31.0 + build: + context: https://cor.cherished.me/gt/andrew/build-swag.git 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: - - ${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 + - ${BIND?err}swag-config:/config + - ${CERT?err}cherished.me.chained.crt:/defaults/custom-cert.crt:ro + - ${CERT?err}cherished.me.key:/defaults/custom-cert.key:ro + - ${CONF?err}ggrav.subfolder.conf:/config/nginx/proxy-confs/ggrav.subfolder.conf:ro + - ${CONF?err}mailu.subfolder.conf:/config/nginx/proxy-confs/mailu.subfolder.conf:ro + - ${CONF?err}nextc.subfolder.conf:/config/nginx/proxy-confs/nextc.subfolder.conf:ro + - ${CONF?err}swag-index.html:/config/www/index.html:ro 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 + - ggrav 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 - + ggrav: image: andrew/getgrav:1.7.37.1 build: @@ -174,10 +70,12 @@ services: - "GRAV_VERSION=1.7.37.1" - "GRAV_SUBDIR=html/gv" restart: always + logging: + driver: journald + options: + tag: docker-ggrav volumes: - ${BIND?err}ggrav-html:/var/www/html - env_file: - - ${CONF?err}ggrav.env healthcheck: test: ["CMD-SHELL","curl -fsS http://localhost/gv/"] interval: 20s @@ -187,47 +85,36 @@ services: - local nextc: - image: andrew/nextcloud:24.0 - build: - context: https://cor.cherished.me/gt/andrew/build-nextcloud.git - args: - - "VERSION=24.0" - - "PUID=1000" + image: lscr.io/linuxserver/nextcloud:25.0.0 restart: always volumes: - - ${BIND?err}nextc-html:/var/www/html - - ${DATA?err}:/ncdata - - ${FMED?err}:/fmedia - env_file: - - ${CONF?err}nextc.env + - ${BIND?err}nextc-config:/config + - ${DATA?err}ncdata:/ncdata + environment: + - PUID=1000 + - PGID=2000 + - TZ=Australia/Perth depends_on: - nextc-db - healthcheck: - test: ["CMD_SHELL","curl -fsS http://localhost"] - interval: 20s - timeout: 5s - retries: 5 networks: - local - nextc nextc-db: - image: ${DORG?err}/mariadb:10.8 + image: lscr.io/linuxserver/mariadb:10.6.10 restart: always 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 + - ${BIND?err}nextc-db-config:/config + environment: + - PUID=1000 + - PGID=2000 + - TZ=Australia/Perth + - REMOTE_SQL= networks: - nextc onlyo-ds: - image: ${DORG?err}/onlyoffice/documentserver:7.1 + image: docker.io/onlyoffice/documentserver:7.1 restart: always volumes: - ${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-rd:/var/lib/redis - ${BIND?err}onlyo-ds-font:/usr/share/fonts/truetype/custom - env_file: - - ${CONF?err}onlyo-ds.env + environment: + - 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: - local diff --git a/docker-restore.sh b/docker-restore.sh index 69eaaf0..461e9b0 100755 --- a/docker-restore.sh +++ b/docker-restore.sh @@ -24,6 +24,7 @@ sudo docker run --rm \ -v docker_porta-data:/source/docker_porta-data \ -v docker_redis-data:/source/docker_redis-data \ -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-overrides:/source/docker_webmail-overrides \ blacklabelops/volumerize:1.7.1 restore diff --git a/nextc-install.log b/nextc-install.log new file mode 100644 index 0000000..9fc9c18 --- /dev/null +++ b/nextc-install.log @@ -0,0 +1,3 @@ +ROOTPASS: YHBXAnpcT9 +USERNAME: Andrew +USERPASS: nk5x