diff --git a/scripts/cloudron-provision b/scripts/cloudron-provision index 525df5ed2..26620cd25 100755 --- a/scripts/cloudron-provision +++ b/scripts/cloudron-provision @@ -65,14 +65,14 @@ wait_for_status "version" '*' echo "Provisioning Cloudron ${subdomain}.${zone}" if [[ -n "${tls_cert_file}" && -n "${tls_key_file}" ]]; then - tls_cert=$(cat "${tls_cert_file}") - tls_key=$(cat "${tls_key_file}") - tls_config=$(printf '{ "cert": "%s", "key": "%s", "provider": "fallback", "restricted": true }' "${tls_cert}" "${tls_key}") + tls_cert=$(cat "${tls_cert_file}" | awk '{printf "%s\\n", $0}') + tls_key=$(cat "${tls_key_file}" | awk '{printf "%s\\n", $0}') + fallback_cert=$(printf '{ "cert": "%s", "key": "%s", "provider": "fallback", "restricted": true }' "${tls_cert}" "${tls_key}") else - tls_config='{ "provider": "fallback" }' + fallback_cert=null fi -setupData=$(printf '{ "dnsConfig": { "domain": "%s", "provider": "cloudflare", "config": { "token": "%s", "email": "%s", "hyphenatedSubdomains": true }, "tlsConfig": %s } }, "autoconf": { "appstoreConfig": { "userId": "%s", "token": "%s" } } }' "${subdomain}.${zone}" "${cloudflare_token}" "${cloudflare_email}" "${tls_config}" "${appstore_id}" "${appstore_token}") +setupData=$(printf '{ "dnsConfig": { "domain": "%s", "provider": "cloudflare", "config": { "token": "%s", "email": "%s", "hyphenatedSubdomains": true }, "tlsConfig": { "provider": "fallback" }, "fallbackCertificate": %s }, "autoconf": { "appstoreConfig": { "userId": "%s", "token": "%s" } } }' "${subdomain}.${zone}" "${cloudflare_token}" "${cloudflare_email}" "${fallback_cert}" "${appstore_id}" "${appstore_token}") if ! setupResult=$($curl -kq -X POST -H "Content-Type: application/json" -d "${setupData}" https://${ip}/api/v1/cloudron/setup); then echo "Failed to setup with ${setupData}: ${setupResult}"