mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-06 03:46:02 +08:00
47 lines
1 KiB
Bash
Executable file
47 lines
1 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
CONFIG_FILE=netmaker.env
|
|
source $CONFIG_FILE
|
|
CERT_DIR=/etc/letsencrypt/live/stun.$DOMAIN/
|
|
|
|
echo "Setting up SSL certificates..."
|
|
|
|
# TODO check $DOMAIN, $EMAIL
|
|
# TODO support EE domains
|
|
|
|
wget -qO /root/zerossl-bot.sh "https://github.com/zerossl/zerossl-bot/raw/master/zerossl-bot.sh"
|
|
chmod +x /root/zerossl-bot.sh
|
|
|
|
RESTART_CADDY=false
|
|
if [ -n "$(docker ps | grep caddy)" ]; then
|
|
echo "Caddy is running, stopping for now..."
|
|
RESTART_CADDY=true
|
|
docker-compose -f /root/docker-compose.yml stop caddy
|
|
fi
|
|
|
|
# request certs
|
|
./zerossl-bot.sh certonly --standalone \
|
|
-m "$EMAIL" \
|
|
-d "stun.$DOMAIN" \
|
|
-d "broker.$DOMAIN" \
|
|
-d "dashboard.$DOMAIN" \
|
|
-d "api.$DOMAIN"
|
|
|
|
# TODO fallback to letsencrypt
|
|
|
|
# check if successful
|
|
if [ ! -f "$CERT_DIR"/fullchain.pem ]; then
|
|
echo "SSL certificates failed"
|
|
exit 1
|
|
fi
|
|
|
|
# copy for mounting
|
|
cp "$CERT_DIR"/fullchain.pem /root
|
|
cp "$CERT_DIR"/privkey.pem /root
|
|
|
|
echo "SSL certificates ready"
|
|
|
|
if [ "$RESTART_CADDY" = true ]; then
|
|
echo "Starting Caddy..."
|
|
docker-compose -f /root/docker-compose.yml start caddy
|
|
fi
|