Skip to content

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

git clone https://gitea.bnkops.com/admin/changemaker.lite
cd changemaker.lite
git checkout v2

2. Run the Configuration Wizard

The fastest way to get a working .env file is the interactive configuration wizard:

bash config.sh

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:

cp .env.example .env

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