Getting Started¶
This guide walks you through installing Changemaker Lite, running your first deployment, and logging into the admin dashboard.
Prerequisites¶
- Docker 24+ and Docker Compose v2
- OpenSSL (for secret generation)
- A Linux server (Ubuntu 22.04+ recommended) or macOS for development
- At least 2 GB RAM and 10 GB disk space
- A domain name (optional, but recommended for production)
Installation¶
1. Clone the Repository¶
2. Run the Configuration Wizard¶
The fastest way to get a working .env file is the interactive configuration wizard:
The wizard walks you through each step:
| Step | What it does |
|---|---|
| Prerequisites check | Verifies Docker, Docker Compose, and OpenSSL are installed |
| Domain | Sets your root domain and updates all subdomain references (nginx, Gitea, n8n, MkDocs, etc.) |
| Admin credentials | Prompts for the initial super-admin email and password (enforces 12+ chars, uppercase, lowercase, digit) |
| Secret generation | Auto-generates 16 unique secrets — JWT keys, encryption key, database passwords, Redis password, API tokens |
| SMTP | Optionally configures production SMTP (defaults to MailHog for development) |
| Feature flags | Enable/disable Media Manager and Listmonk newsletter sync |
| Pangolin tunnel | Optionally configures tunnel credentials for public access |
| CORS | Auto-sets allowed origins based on your domain |
| Homepage | Generates configs/homepage/services.yaml with all service links for your domain |
| Permissions | Creates required directories and sets container-friendly permissions |
After completion you'll have a fully populated .env with no placeholder passwords remaining.
Already have a .env?
If a .env file exists, the wizard offers to back it up before creating a fresh one, or update values in place.
What the wizard looks like
██████╗██╗ ██╗ █████╗ ███╗ ██╗ ██████╗ ███████╗
██╔════╝██║ ██║██╔══██╗████╗ ██║██╔════╝ ██╔════╝
██║ ███████║███████║██╔██╗ ██║██║ ███╗█████╗
██║ ██╔══██║██╔══██║██║╚██╗██║██║ ██║██╔══╝
╚██████╗██║ ██║██║ ██║██║ ╚████║╚██████╔╝███████╗
╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚══════╝
███╗ ███╗ █████╗ ██╗ ██╗███████╗██████╗
████╗ ████║██╔══██╗██║ ██╔╝██╔════╝██╔══██╗
██╔████╔██║███████║█████╔╝ █████╗ ██████╔╝
██║╚██╔╝██║██╔══██║██╔═██╗ ██╔══╝ ██╔══██╗
██║ ╚═╝ ██║██║ ██║██║ ██╗███████╗██║ ██║
╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
V2 Configuration Wizard
[INFO] This wizard will create your .env file, generate secure secrets,
[INFO] and prepare your system to run the full Changemaker Lite stack.
3. Manual Setup (Alternative)¶
If you prefer to configure things by hand:
Then edit .env and at minimum set these values:
V2_POSTGRES_PASSWORD=<strong password>
REDIS_PASSWORD=<strong password>
JWT_ACCESS_SECRET=<openssl rand -hex 32>
JWT_REFRESH_SECRET=<openssl rand -hex 32>
ENCRYPTION_KEY=<openssl rand -hex 32>
INITIAL_ADMIN_PASSWORD=<12+ chars, mixed case + digit>
See Environment Variables for every available option.
4. Start Services¶
# Start core services
docker compose up -d v2-postgres redis api admin
# Run database migrations and seed the initial admin account
docker compose exec api npx prisma migrate deploy
docker compose exec api npx prisma db seed
5. Log In¶
Open http://localhost:3000 and sign in with the admin email and password you configured.
Change your password
If you used the wizard's generated password, change it immediately from the admin dashboard.
Optional Services¶
Once the core is running, add more services as needed:
# Reverse proxy (required for subdomain routing)
docker compose up -d nginx
# Video library
docker compose up -d media-api
# Newsletters
docker compose up -d listmonk-app
# Service dashboard
docker compose up -d homepage
# All services at once
docker compose up -d
# Monitoring stack (Prometheus, Grafana, Alertmanager)
docker compose --profile monitoring up -d
Next Steps¶
- Environment Variables — complete
.envreference - First Steps — create your first campaign and add locations
- Features at a Glance — visual overview of every module
- Admin Guide — full administration reference
- Deployment — production setup with SSL and tunneling