27 lines
930 B
Bash
27 lines
930 B
Bash
#!/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
|