Corrected many things after actual deployment
This commit is contained in:
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -1,10 +1,8 @@
|
||||
{$WEBMAIL_SUBDOMAIN}.{$DOMAIN_NAME} {
|
||||
{$CADDY_TLS}
|
||||
reverse_proxy email_frontend:3000
|
||||
reverse_proxy email_frontend:3000
|
||||
}
|
||||
|
||||
{$MAIL_SUBDOMAIN}.{$DOMAIN_NAME} {
|
||||
{$CADDY_TLS}
|
||||
reverse_proxy email_backend:8080
|
||||
|
||||
header {
|
||||
|
||||
Reference in New Issue
Block a user