Install Wizard

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.

1. Basics
2. Secrets

Two random values: a Postgres password and a session secret. Generate them yourself (recommended for production) or let the browser auto-fill below.

Generate locally → paste below

Run one command per secret on your own machine, then paste the output into the matching field. Pick whichever runtime you have.

openssl (Linux/macOS/WSL)
openssl rand -base64 32   # POSTGRES_PASSWORD
openssl rand -hex 32      # SESSION_SECRET
node
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
python -c "import secrets; print(secrets.token_urlsafe(32))"   # POSTGRES_PASSWORD
python -c "import secrets; print(secrets.token_hex(32))"       # SESSION_SECRET
powershell (Windows)
[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.

3. Authentication

Pick one or more. Local accounts always work as fallback.

4. Email backend
5. TLS / Reverse Proxy

Resolvd binds locally — pick how HTTPS reaches it.

 

Files generated entirely in your browser. View source.