Skip to main content

Prerequisites

Before you begin, ensure you have:
1

Docker installed

Docker Engine 24+ and Docker Compose v2+ are required.
docker --version   # Docker version 24.0+
docker compose version  # Docker Compose version v2.20+
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
2

License key

A valid Verilock license key (vrl_...). Get one from the Portal.

Quick Install

1. Download the bundle

Download from the Portal Downloads page, or manually:
mkdir verilock && cd verilock

2. Configure environment

Copy and edit the environment file:
cp .env.selfhost .env
nano .env
Change all default passwords before deploying to production. At minimum, update:
  • DB_PASSWORD
  • REDIS_PASSWORD
  • MINIO_SECRET_KEY and AWS_SECRET_ACCESS_KEY (must match)
Required settings:
VariableDescriptionExample
VERILOCK_LICENSE_KEYYour license keyvrl_a6cd48bd...
APP_URLPublic URL of your instancehttps://kyc.company.com
DB_PASSWORDPostgreSQL passwordUse a strong password
REDIS_PASSWORDRedis passwordUse a strong password
Optional settings:
VariableDescriptionDefault
APP_PORTPort to expose the app8080
MAIL_MAILERMail driver (smtp, ses, mailgun)smtp

3. Start the services

docker compose up -d
This will:
  1. Pull all required Docker images
  2. Start PostgreSQL, Redis, MinIO, and the AML engine
  3. Run database migrations automatically
  4. Cache configuration
  5. Start the application with queue workers
First startup takes 2-5 minutes as images are downloaded and the database is initialized.

4. Verify the deployment

# Check all containers are running
docker compose ps

# Check application health
curl http://localhost:8080/up

# View application logs
docker compose logs app -f
You should see:
==========================================
 Verilock Identity — Ready
 Version: 1.0.0
==========================================

5. Access the application

Open http://localhost:8080 (or your configured APP_URL) in your browser.
  • Dashboard: /dashboard — Create your first admin account
  • API: /api/v1/ — Ready to accept API calls
  • Developer Docs: /developer — Built-in API documentation

Post-Install

Create API Keys

Generate API keys to start integrating

Configure Mail

Set up email for OTP and notifications

Set Up SSL

Configure HTTPS with a reverse proxy

Configure Storage

Set up document storage