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)
|
# Subdomain Information (DO NOT EDIT AFTER RUNNING ONCE)
|
||||||
WEBMAIL_SUBDOMAIN=mail
|
WEBMAIL_SUBDOMAIN=mail
|
||||||
MAIL_SUBDOMAIN=mx
|
MAIL_SUBDOMAIN=mx
|
||||||
AUTH_SUBDOMAIN=auth
|
|
||||||
|
|
||||||
# Secret Keys
|
# Secret Keys
|
||||||
# This should be generated automatically.
|
# This should be generated automatically.
|
||||||
|
|||||||
+15
-7
@@ -9,7 +9,6 @@ services:
|
|||||||
- ./service_data/reverse_proxy:/etc/caddy
|
- ./service_data/reverse_proxy:/etc/caddy
|
||||||
- caddy-data:/data
|
- caddy-data:/data
|
||||||
environment:
|
environment:
|
||||||
- CADDY_TLS=${CADDY_TLS}
|
|
||||||
- DOMAIN_NAME=${DOMAIN_NAME}
|
- DOMAIN_NAME=${DOMAIN_NAME}
|
||||||
- MAIL_SUBDOMAIN=${MAIL_SUBDOMAIN}
|
- MAIL_SUBDOMAIN=${MAIL_SUBDOMAIN}
|
||||||
- WEBMAIL_SUBDOMAIN=${WEBMAIL_SUBDOMAIN}
|
- WEBMAIL_SUBDOMAIN=${WEBMAIL_SUBDOMAIN}
|
||||||
@@ -23,16 +22,13 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- stalwart-etc:/etc/stalwart
|
- stalwart-etc:/etc/stalwart
|
||||||
- stalwart-data:/var/lib/stalwart
|
- stalwart-data:/var/lib/stalwart
|
||||||
|
- stalwart-certs:/certs:ro
|
||||||
environment:
|
environment:
|
||||||
- STALWART_PUBLIC_URL=https://${MAIL_SUBDOMAIN}.${DOMAIN_NAME}
|
- STALWART_PUBLIC_URL=https://${MAIL_SUBDOMAIN}.${DOMAIN_NAME}
|
||||||
ports:
|
ports:
|
||||||
- "25:25"
|
- "25:25"
|
||||||
- "587:587"
|
|
||||||
- "465:465"
|
- "465:465"
|
||||||
- "143:143"
|
|
||||||
- "993:993"
|
- "993:993"
|
||||||
- "110:110"
|
|
||||||
- "995:995"
|
|
||||||
- "4190:4190"
|
- "4190:4190"
|
||||||
networks:
|
networks:
|
||||||
- proxy-net
|
- proxy-net
|
||||||
@@ -43,8 +39,6 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- JMAP_SERVER_URL=https://${MAIL_SUBDOMAIN}.${DOMAIN_NAME}
|
- 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}
|
- SESSION_SECRET=${BULWARK_SECRET}
|
||||||
- OAUTH_ENABLED=true
|
- OAUTH_ENABLED=true
|
||||||
- OAUTH_ONLY=true
|
- OAUTH_ONLY=true
|
||||||
@@ -57,12 +51,26 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- proxy-net
|
- 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:
|
volumes:
|
||||||
stalwart-etc:
|
stalwart-etc:
|
||||||
stalwart-data:
|
stalwart-data:
|
||||||
|
stalwart-certs:
|
||||||
caddy-data:
|
caddy-data:
|
||||||
bulwark-config:
|
bulwark-config:
|
||||||
bulwark-state:
|
bulwark-state:
|
||||||
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
proxy-net:
|
proxy-net:
|
||||||
|
|||||||
@@ -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} {
|
{$WEBMAIL_SUBDOMAIN}.{$DOMAIN_NAME} {
|
||||||
{$CADDY_TLS}
|
reverse_proxy email_frontend:3000
|
||||||
reverse_proxy email_frontend:3000
|
|
||||||
}
|
}
|
||||||
|
|
||||||
{$MAIL_SUBDOMAIN}.{$DOMAIN_NAME} {
|
{$MAIL_SUBDOMAIN}.{$DOMAIN_NAME} {
|
||||||
{$CADDY_TLS}
|
|
||||||
reverse_proxy email_backend:8080
|
reverse_proxy email_backend:8080
|
||||||
|
|
||||||
header {
|
header {
|
||||||
|
|||||||
Reference in New Issue
Block a user