Move deployment mode question before admin credentials so the installer
can validate email format in SaaS mode. Remove separate SAAS_ADMIN_EMAIL
— the admin user value IS the email address. In standalone mode, any
username is still accepted.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Derive admin email from <ADMIN_USER>@<PUBLIC_HOST> by default.
Supports override via --admin-email CLI flag, SAAS_ADMIN_EMAIL env var,
or admin_email in cameleer.conf. Written to .env for bootstrap.
Passwords with $, &, ;, [, etc. were written unquoted to .env and
cameleer.conf, causing Docker Compose to mangle them. Now all password
and secret fields are written as KEY='value' with embedded single
quotes escaped as '\''.
Also removes inline DB_URL from docker-compose.saas.yml — the Logto
entrypoint now builds it from PG_USER/PG_PASSWORD/PG_HOST using
node's encodeURIComponent for URL-safe encoding.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
install.ps1 was deleted in the refactor that moved the installer to its
own repo but was never copied over. Restored from cameleer-saas history
with registry default updated to registry.cameleer.io.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>