Corrected many things after actual deployment

This commit is contained in:
oscarg
2026-08-11 04:16:33 +00:00
parent d53e7eef37
commit 28143427ff
4 changed files with 42 additions and 11 deletions
-1
View File
@@ -4,7 +4,6 @@ DOMAIN_NAME=example.com
# Subdomain Information (DO NOT EDIT AFTER RUNNING ONCE)
WEBMAIL_SUBDOMAIN=mail
MAIL_SUBDOMAIN=mx
AUTH_SUBDOMAIN=auth
# Secret Keys
# This should be generated automatically.
+15 -7
View File
@@ -9,7 +9,6 @@ services:
- ./service_data/reverse_proxy:/etc/caddy
- caddy-data:/data
environment:
- CADDY_TLS=${CADDY_TLS}
- DOMAIN_NAME=${DOMAIN_NAME}
- MAIL_SUBDOMAIN=${MAIL_SUBDOMAIN}
- WEBMAIL_SUBDOMAIN=${WEBMAIL_SUBDOMAIN}
@@ -23,16 +22,13 @@ services:
volumes:
- stalwart-etc:/etc/stalwart
- stalwart-data:/var/lib/stalwart
- stalwart-certs:/certs:ro
environment:
- STALWART_PUBLIC_URL=https://${MAIL_SUBDOMAIN}.${DOMAIN_NAME}
ports:
- "25:25"
- "587:587"
- "465:465"
- "143:143"
- "993:993"
- "110:110"
- "995:995"
- "4190:4190"
networks:
- proxy-net
@@ -43,8 +39,6 @@ services:
restart: unless-stopped
environment:
- JMAP_SERVER_URL=https://${MAIL_SUBDOMAIN}.${DOMAIN_NAME}
- NODE_TLS_REJECT_UNAUTHORIZED=0 # DEFINITELY REMOVE AFTER TESTING
- OAUTH_ALLOW_PRIVATE_ENDPOINTS=true # ALSO DEFINITELY REMOVE THIS
- SESSION_SECRET=${BULWARK_SECRET}
- OAUTH_ENABLED=true
- OAUTH_ONLY=true
@@ -57,13 +51,27 @@ services:
networks:
- proxy-net
cert_sync:
image: alpine:latest
container_name: cert_sync
restart: unless-stopped
depends_on:
- reverse_proxy
volumes:
- caddy-data:/caddy-data:ro
- stalwart-certs:/stalwart-certs
- ./service_data/cert_sync:/data
command: sh /data/sync-certs.sh
volumes:
stalwart-etc:
stalwart-data:
stalwart-certs:
caddy-data:
bulwark-config:
bulwark-state:
networks:
proxy-net:
external: true
+26
View File
@@ -0,0 +1,26 @@
#!/bin/sh
if [ ! -d /caddy-data ] || [ ! -d /stalwart-certs ]; then
echo "[$(date -u +'%Y-%m-%dT%H:%M:%SZ')] FATAL: Required volume mounts (/caddy-data or /stalwart-certs) are missing!" >&2
exit 1
fi
echo "[$(date -u +'%Y-%m-%dT%H:%M:%SZ')] Certificate sync container initialized. Checking every 12 hours..."
while true; do
if [ -d /caddy-data/caddy/certificates ] && [ "$(ls -A /caddy-data/caddy/certificates 2>/dev/null)" ]; then
echo "[$(date -u +'%Y-%m-%dT%H:%M:%SZ')] Syncing Caddy certificates to Stalwart..."
cp -a /caddy-data/caddy/certificates/. /stalwart-certs/
chown -R 2000:2000 /stalwart-certs
chmod -R 755 /stalwart-certs
find /stalwart-certs -type f -name '*.key' -exec chmod 600 {} +
find /stalwart-certs -type f -name '*.crt' -exec chmod 644 {} +
else
echo "[$(date -u +'%Y-%m-%dT%H:%M:%SZ')] Waiting for certificates in /caddy-data/caddy/certificates..."
fi
sleep 43200 &
wait $!
done
-2
View File
@@ -1,10 +1,8 @@
{$WEBMAIL_SUBDOMAIN}.{$DOMAIN_NAME} {
{$CADDY_TLS}
reverse_proxy email_frontend:3000
}
{$MAIL_SUBDOMAIN}.{$DOMAIN_NAME} {
{$CADDY_TLS}
reverse_proxy email_backend:8080
header {