Environment Variables
All environment variables written to .env by the installer, with descriptions.
The .env file is auto-generated by install.sh in the launchtic/ directory. Most values are generated automatically — you rarely need to edit this file manually.
To apply changes after editing: docker compose restart
Generated automatically by installer
# Domains
APP_DOMAIN=app.yourdomain.com
PAGES_DOMAIN=pages.yourdomain.com
ACME_EMAIL=admin@yourdomain.com # Used by Caddy for Let's Encrypt
# Derived URLs (read by apps at runtime)
APP_URL=https://app.yourdomain.com
NEXTAUTH_URL=https://app.yourdomain.com
RENDERER_URL=https://pages.yourdomain.com
# Internal Docker network
WEB_API_URL=http://web:3000
# Database
POSTGRES_PASSWORD=<auto-generated>
DATABASE_URL=postgresql://postgres:<password>@postgres:5432/launchtic
# Redis
REDIS_URL=redis://redis:6379
# Secrets (auto-generated with openssl)
NEXTAUTH_SECRET=<auto-generated>
ENCRYPTION_KEY=<auto-generated>
# Runtime
NODE_ENV=production
LAUNCHTIC_VERSION=latest
What is NOT in .env
Stripe, PayPal, SMTP, S3, and AI keys are configured per-workspace through the dashboard and stored encrypted in the database — not in .env. This means:
- Each workspace can have its own Stripe account
- You can switch providers without touching server config
- Keys are never exposed in the filesystem
Go to Settings → Integrations in each workspace to configure payment, email, storage, and AI providers.
Changing domains after install
If you need to move to a new domain:
- Update
APP_DOMAIN,PAGES_DOMAIN,APP_URL,NEXTAUTH_URL,RENDERER_URLin.env - Update your DNS A records to point to the server IP
- Wait for DNS to propagate — verify with
dig app.yourdomain.com - Run
docker compose restart
Caddy will auto-provision new SSL certificates once DNS resolves.
Or delete .env entirely and re-run install.sh to regenerate from scratch.