Download the Free edition.
Core + Console in Docker containers, with PostgreSQL in the sample compose. Up to 10 registered agents, no cost and no credit card.
Lucerta Free
Container images for the free edition. The Docker Hub mirror is shown below.
1. Pull the images
docker pull ghcr.io/lucerta/core:free
docker pull ghcr.io/lucerta/console:free
# optional Docker Hub mirror:
docker pull docker.io/lucerta/core:free
2. Start the stack
Save this compose.yaml and start it with docker compose up -d. It's a minimal example: for production, read the guide at docs.lucerta.io.
services:
db:
image: postgres:16-alpine
environment:
POSTGRES_DB: lucerta
POSTGRES_USER: lucerta
POSTGRES_PASSWORD: change-this-password
volumes:
- lucerta-db:/var/lib/postgresql/data
core:
image: ghcr.io/lucerta/core:free
depends_on:
- db
environment:
SPRING_PROFILES_ACTIVE: postgres
LUCERTA_DB_URL: jdbc:postgresql://db:5432/lucerta
LUCERTA_DB_USERNAME: lucerta
LUCERTA_DB_PASSWORD: change-this-password
LUCERTA_JWT_SECRET: change-this-secret
LUCERTA_SECRET_MASTER_KEY: change-this-key
# First admin bootstrap (optional). If you set the password here, no password
# is printed to the logs; if you omit it, the Core generates one and shows it
# once in the logs (see step 3).
# LUCERTA_ADMIN_USERNAME: admin
# LUCERTA_ADMIN_PASSWORD: change-this-password
# LUCERTA_ADMIN_EMAIL: admin@example.com
ports:
- "8080:8080"
console:
image: ghcr.io/lucerta/console:free
depends_on:
- core
environment:
LUCERTA_CONSOLE_CORE_URL: http://core:8080
LUCERTA_CONSOLE_SECRET: change-this-secret
ports:
- "8000:8000"
volumes:
lucerta-db:
3. First start and credentials
On first start, Flyway migrations are applied. If the database
does not contain any users yet, the Core runs the first-start
bootstrap and creates a superadmin user
(LUCERTA_ADMIN_USERNAME, default admin).
If you do not set LUCERTA_ADMIN_PASSWORD, a
random password is generated and printed only once in
the Core logs, in a prominent banner:
=== LUCERTA — PRIMA CONFIGURAZIONE ===
Utente amministratore creato: admin
Password generata: …
Conservala e cambiala al primo accesso.
Retrieve it with docker compose logs core | grep -A4 "PRIMA CONFIGURAZIONE".
The password change on first login is mandatory: the Console
redirects to the Account page and blocks every other action (the Core returns
403 PASSWORD_CHANGE_REQUIRED) until you set a new password.
Alternatively, set before the first start
LUCERTA_ADMIN_USERNAME, LUCERTA_ADMIN_PASSWORD and
LUCERTA_ADMIN_EMAIL: in that case no password is printed to the logs.
On subsequent restarts the bootstrap does not recreate anything and does not overwrite
the credentials. There is no default password.
The up-to-date procedure is also at
docs.lucerta.io.
Everything you need to start
- Core (Java 21 + Spring Boot) and Console (FastAPI + HTMX)
- Inventory, renewal policies and job scheduler with retry/backoff
- ACME (Let's Encrypt and compatible CAs), Cloudflare DNS, AWS Route 53
- Full audit trail, 4-role RBAC and mTLS agent channel
- Choice of database: PostgreSQL, MariaDB or OracleDB
LicenseService.FREE_MAX_AGENTS = 10),
not overridable via environment variable or database. Edge management is not available in Free.
Full installation and configuration: docs.lucerta.io.
Coming in Q3 2027.
Signed licence, Edge management, SSO/LDAP and support. Much cheaper than today's enterprise platforms.
Stay in touch about Enterprise
We'll let you know when it's available. No price published at this stage.