webminerpool/entrypoint.sh

24 lines
948 B
Bash

#!/usr/bin/env bash
set -o errexit
set -o pipefail
set -o nounset
# Check if $DOMAIN is set
if [ -z "$DOMAIN" ]; then
echo -e "You did not set \$DOMAIN variable at run time. No certificate will be registered.\n"
echo -e "If you want to define it on command line here is an example:\n"
echo -e "docker run -d -p 80:80 -p 443:443 -e DOMAIN=example.com\n"
else
if [[ ! -f "/root/.acme.sh/${DOMAIN}/${DOMAIN}.cer" ]] || ! openssl x509 -checkend 0 -in "/root/.acme.sh/${DOMAIN}/${DOMAIN}.cer"; then
# Generate SSL cert
/root/.acme.sh/acme.sh --issue --standalone -d "${DOMAIN}" -d "www.${DOMAIN}"
# Generate pfx
openssl pkcs12 -export -out /webminerpool/certificate.pfx -inkey "/root/.acme.sh/${DOMAIN}/${DOMAIN}.key" -in "/root/.acme.sh/${DOMAIN}/${DOMAIN}.cer" -certfile "/root/.acme.sh/${DOMAIN}/fullchain.cer" -passin pass:miner -passout pass:miner
fi
fi
# Start server
pushd /webminerpool
exec /usr/bin/mono server.exe