45 lines
1.3 KiB
Bash
Executable File
45 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
domain="$(ls /etc/letsencrypt/live | grep -v README | head -n1)" || true
|
|
|
|
if [[ -n "${DISABLE_TLS:-}" ]]; then
|
|
echo "Disabling TLS due to DISABLE_TLS=${DISABLE_TLS}" >&2
|
|
elif [[ -z "${domain}" ]]; then
|
|
echo "No certs installed in /etc/letsencrypt/live, disabling TLS" >&2
|
|
else
|
|
echo "Detected cert for domain: ${domain}, enabling TLS" >&2
|
|
export TLS=1
|
|
TLS_PRIVATE_KEY="$(base64 "/etc/letsencrypt/live/${domain}/privkey.pem")"
|
|
TLS_CERTIFICATE="$(base64 "/etc/letsencrypt/live/${domain}/fullchain.pem")"
|
|
export TLS_PRIVATE_KEY TLS_CERTIFICATE
|
|
if [[ "${domain}" == riju.codes ]]; then
|
|
echo "Domain is riju.codes, enabling analytics" >&2
|
|
export ANALYTICS=1
|
|
else
|
|
echo "Domain is not riju.codes, disabling analytics" >&2
|
|
fi
|
|
fi
|
|
|
|
if [[ -n "${DETACH:-}" ]]; then
|
|
extra_args="-d"
|
|
elif [[ -t 1 ]]; then
|
|
extra_args="-it"
|
|
else
|
|
extra_args=
|
|
fi
|
|
|
|
port_args="${PORT_MAPPING:--p 0.0.0.0:80:6119 -p 0.0.0.0:443:6120}"
|
|
image_name="${IMAGE_NAME:-riju:app}"
|
|
container_name="${CONTAINER_NAME:-riju-prod}"
|
|
|
|
if docker container inspect ${container_name} &>/dev/null; then
|
|
docker stop ${container_name}
|
|
fi
|
|
|
|
docker run --rm ${port_args} ${extra_args} \
|
|
-e TLS -e TLS_PRIVATE_KEY -e TLS_CERTIFICATE -e ANALYTICS \
|
|
-h riju --name "${container_name}" \
|
|
"${image_name}"
|