test/bin/dumpcerts
2023-06-16 13:29:13 +00:00

46 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
#
# Dump Traefik certs and install into containers that need them
if ! command -v traefik-certs-dumper &> /dev/null; then
failcheck "FAILED - traefik-certs-dumper tool not installed"
fi
fail() {
echo -ne "\n\nFAILED - $1\n\n"
exit 2;
}
. /federated/bin/.env
echo -ne "\n* Dumping certs from traefik into /federated/certs.."
traefik-certs-dumper file --version v2 --source /federated/apps/traefik/data/letsencrypt/acme.json --dest /federated/certs &> /dev/null
[ $? -ne 0 ] && fail "Couldn't dump certs from traefik-certs-dumper"
echo -ne "done.\n"
echo -ne "* Installing certs into /federated/apps that use it.."
# Install into PostgreSQL container
cp /federated/certs/certs/$DOMAIN.crt /federated/apps/postgresql/data/var/lib/postgresql/server.crt
cp /federated/certs/private/$DOMAIN.key /federated/apps/postgresql/data/var/lib/postgresql/server.key
chown 999 /federated/apps/postgresql/data/var/lib/postgresql/server.crt /federated/apps/postgresql/data/var/lib/postgresql/server.key
chmod 600 /federated/apps/postgresql/data/var/lib/postgresql/server.crt /federated/apps/postgresql/data/var/lib/postgresql/server.key
# Install into LDAP container
cp /federated/certs/certs/$DOMAIN.crt /federated/certs/private/$DOMAIN.key /federated/apps/ldap/data/certs/
# Install into Mail container
cp /federated/certs/certs/$DOMAIN.crt /federated/certs/private/$DOMAIN.key /federated/apps/mail/data/root/certs/
# Install into Collabora container
cp /federated/certs/certs/$DOMAIN.crt /federated/certs/private/$DOMAIN.key /federated/apps/collabora/data/root/certs/
chown 104 /federated/apps/collabora/data/root/certs/*
# Install into Matrix container
cp /federated/certs/certs/$DOMAIN.crt /federated/certs/private/$DOMAIN.key /federated/apps/matrix/data/matrix/
chmod 644 /federated/apps/matrix/data/matrix/$DOMAIN.crt /federated/apps/matrix/data/matrix/$DOMAIN.key
echo -ne "done.\n\n"