Pick your options. We'll generate a tailored docker-compose.yml, .env, and reverse-proxy snippet you can copy or download. All client-side — nothing leaves your browser.
docker-compose.yml
.env
Two random values: a Postgres password and a session secret. Generate them yourself (recommended for production) or let the browser auto-fill below.
Run one command per secret on your own machine, then paste the output into the matching field. Pick whichever runtime you have.
openssl rand -base64 32 # POSTGRES_PASSWORD openssl rand -hex 32 # SESSION_SECRET
node -e "console.log(require('crypto').randomBytes(32).toString('base64'))" # POSTGRES_PASSWORD node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" # SESSION_SECRET
python -c "import secrets; print(secrets.token_urlsafe(32))" # POSTGRES_PASSWORD python -c "import secrets; print(secrets.token_hex(32))" # SESSION_SECRET
[Convert]::ToBase64String((1..32 | %{[byte](Get-Random -Max 256)})) # POSTGRES_PASSWORD -join ((1..32) | %{ '{0:x2}' -f (Get-Random -Max 256) }) # SESSION_SECRET
Either secret needs ~32 random bytes. Avoid words, dates, or anything memorable.
Auto-fill uses crypto.getRandomValues in your browser — nothing is sent over the network. Leave a field blank and the generated .env will include a placeholder + openssl command instead.
crypto.getRandomValues
openssl
Pick one or more. Local accounts always work as fallback.
Resolvd binds locally — pick how HTTPS reaches it.
Files generated entirely in your browser. View source.