Launchtic|Docs

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:

  1. Update APP_DOMAIN, PAGES_DOMAIN, APP_URL, NEXTAUTH_URL, RENDERER_URL in .env
  2. Update your DNS A records to point to the server IP
  3. Wait for DNS to propagate — verify with dig app.yourdomain.com
  4. 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.