From 4c574954fe906fe549fe57a8a3400aa7cb2e1a73 Mon Sep 17 00:00:00 2001 From: Lieuwe Leene Date: Sun, 6 Nov 2022 10:41:10 +0100 Subject: [PATCH] WIP mail stack --- docker-compose.yaml | 42 +++++++++++++++++++----------------------- local.env | 26 ++++++++++++++------------ 2 files changed, 33 insertions(+), 35 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index b106e12..d04a1fb 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -2,6 +2,8 @@ version: "3.8" networks: internalnet: + driver: bridge + enable_ipv6: false x-mail: &defaults @@ -16,7 +18,7 @@ services: image: "ghcr.io/dominickbrasileiro/ddnsgd" restart: "always" - database: + pgsqlserver: <<: *defaults container_name: pgsqlserver image: postgres:15 @@ -29,33 +31,25 @@ services: ports: - "5432:5432" - adminer: - <<: *defaults - image: adminer - restart: always - depends_on: - - database - ports: - - "8080:8080" - roundcubemail: <<: *defaults image: roundcube/roundcubemail:latest-fpm - container_name: roundcube + container_name: roundcubemail + environment: + - ROUNDCUBEMAIL_DB_HOST=pgsqlserver depends_on: - - database + - pgsqlserver links: - - database + - pgsqlserver ports: - - 9000:9000 + - "9000:9000" volumes: - - ./mail/html:/var/www/html:z - + - ./nginx/html/:/var/www/html/:z mailserver: build: . <<: *defaults - image: docker.io/mailserver/docker-mailserver:latest + image: mailserver/docker-mailserver:latest container_name: mailserver hostname: mail domainname: zathura.leene.dev @@ -65,12 +59,12 @@ services: - "587:587" - "993:993" volumes: - - ./mail/letsencrypt:/etc/letsencrypt:z + - ./nginx/certs/:/etc/letsencrypt/live/:z - ./mail/mail-data/:/var/mail/:z - ./mail/mail-state/:/var/mail-state/:z - ./mail/mail-logs/:/var/log/mail/:z - ./mail/config/:/tmp/docker-mailserver/:z - - ./mail/certs/:/certs:z + - ./nginx/certs/:/certs/:z - /etc/localtime:/etc/localtime:ro cap_add: @@ -83,6 +77,8 @@ services: <<: *defaults image: nginxproxy/nginx-proxy container_name: nginx-proxy + environment: + - NGINX_PHP_CGI=roundcubemail:9000 restart: always ports: - "80:80" @@ -91,9 +87,9 @@ services: - ./nginx/conf/:/etc/nginx/conf.d:z - ./nginx/html/:/usr/share/nginx/html/:z - ./nginx/vhost/:/etc/nginx/vhost.d/:z - - ./nginx/certs/:/etc/nginx/certs/:ro + - ./nginx/certs/:/etc/nginx/certs/:z - ./nginx/dhparam:/etc/nginx/dhparam:z - - /var/run/docker.sock:/tmp/docker.sock:ro + - /var/run/docker.sock:/tmp/docker.sock:z depends_on: - ddnsgd @@ -105,8 +101,8 @@ services: volumes_from: - reverse-proxy volumes: - - ./nginx/certs/:/etc/nginx/certs/:rw + - ./nginx/certs/:/etc/nginx/certs/:z - ./nginx/acme-state/:/etc/acme.sh/:z - - /var/run/docker.sock:/var/run/docker.sock:ro + - /var/run/docker.sock:/var/run/docker.sock:z depends_on: - ddnsgd diff --git a/local.env b/local.env index 306b0f8..a5a6d12 100644 --- a/local.env +++ b/local.env @@ -1,17 +1,24 @@ +## Keys + +ROUNDCUBEMAIL_DB_PASSWORD=hear397sew +POSTGRES_PASSWORD="hear397sew" +USERNAME="JaMolgvImRt3jznO" +PASSWORD="Enl0rRgqBsZPVupA" + +## Docker Env + DEBUG=1 -DOCKER_HOST_ROOTLESS_PATH=/run/user/1000/docker.sock +PERMIT_DOCKER=network ## Google Dynamic DNS INTERVAL=30 HOSTNAME="zathura.leene.dev" -USERNAME="JaMolgvImRt3jznO" -PASSWORD="Enl0rRgqBsZPVupA" ## Mail Server Env POSTFIX_INET_PROTOCOLS=ipv4 -TZ=NL +TZ=Europe/Berlin ENABLE_SPAMASSASSIN=1 SPAMASSASSIN_SPAM_TO_INBOX=1 ENABLE_CLAMAV=1 @@ -25,33 +32,28 @@ POSTMASTER_ADDRESS=admin@leene.dev ENABLE_UPDATE_CHECK=1 SSL_TYPE=letsencrypt -VIRTUAL_HOST=mail.zathura.leene.dev -LETSENCRYPT_HOST=mail.zathura.leene.dev +VIRTUAL_HOST=zathura.leene.dev,mail.zathura.leene.dev,git.zathura.leene.dev +LETSENCRYPT_HOST=zathura.leene.dev,mail.zathura.leene.dev,git.zathura.leene.dev ## SQL Server Env POSTGRES_USER="pgadmin" -POSTGRES_PASSWORD="hear397sew" POSTGRES_INITDB_ARGS="--auth-host=scram-sha-256 --auth-local=scram-sha-256" POSTGRES_MULTIPLE_DATABASES="gitea, roundcube" ## Round Cube Env ROUNDCUBEMAIL_DB_TYPE=pgsql -ROUNDCUBEMAIL_DB_HOST=database ROUNDCUBEMAIL_DB_NAME=roundcube ROUNDCUBEMAIL_DB_USER=roundcube -ROUNDCUBEMAIL_DB_PASSWORD=hear397sew ROUNDCUBEMAIL_SKIN=elastic ROUNDCUBEMAIL_DEFAULT_HOST=tls://mail.zathura.leene.dev ROUNDCUBEMAIL_SMTP_SERVER=tls://mail.zathura.leene.dev ## NGINX Reverse Proxy - +NGINX_HOST=zathura.leene.dev NGINX_PROXY_CONTAINER=nginx-proxy LETSENCRYPT_TEST=true LETSENCRYPT_RESTART_CONTAINER=true DEFAULT_EMAIL=lieuwe@leene.dev -NGINX_HOST=zathura.leene.dev -NGINX_PHP_CGI=roundcubemail:9000