43 lines
1.2 KiB
Bash
Executable File
43 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -o errexit
|
|
set -o nounset
|
|
set -o pipefail
|
|
set -o xtrace
|
|
|
|
http_conf="/opt/appsmith/templates/nginx-app-http.conf.template.sh"
|
|
https_conf="/opt/appsmith/templates/nginx-app-https.conf.template.sh"
|
|
|
|
APP_TEMPLATE="$http_conf"
|
|
|
|
# Check exist certificate with given custom domain
|
|
if [[ -n ${APPSMITH_CUSTOM_DOMAIN:-} ]]; then
|
|
APP_TEMPLATE="$https_conf"
|
|
if ! [[ -e "/etc/letsencrypt/live/$APPSMITH_CUSTOM_DOMAIN" ]]; then
|
|
source "/opt/appsmith/init_ssl_cert.sh"
|
|
if ! init_ssl_cert "$APPSMITH_CUSTOM_DOMAIN"; then
|
|
echo "Status code from init_ssl_cert is $?"
|
|
APP_TEMPLATE="$http_conf"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
bash "$APP_TEMPLATE" "${APPSMITH_CUSTOM_DOMAIN:-}" > /etc/nginx/sites-available/default
|
|
|
|
index_html_served=/opt/appsmith/editor/index.html
|
|
index_html_original=/opt/appsmith/index.html.original
|
|
if [[ ! -f $index_html_original ]]; then
|
|
cp -v "$index_html_served" "$index_html_original"
|
|
fi
|
|
|
|
node -e '
|
|
const fs = require("fs")
|
|
const content = fs.readFileSync("'"$index_html_original"'", "utf8").replace(
|
|
/\b__(APPSMITH_[A-Z0-9_]+)__\b/g,
|
|
(placeholder, name) => (process.env[name] || "")
|
|
)
|
|
fs.writeFileSync("'"$index_html_served"'", content)
|
|
'
|
|
|
|
exec nginx -g "daemon off;"
|