The monolithic deployment mode runs all Lamassu services in a single process with automatic dependency management. This is the recommended approach for local development, demos, and proof-of-concept deployments.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/lamassuiot/lamassuiot/llms.txt
Use this file to discover all available pages before exploring further.
Quick Start
Run from Source
The fastest way to get Lamassu running locally:Launch Monolithic Server
- Start PostgreSQL, RabbitMQ, and Vault containers
- Initialize all Lamassu services
- Launch the UI container
- Configure service networking
Access the Dashboard
Once you see the “READY TO PKI” banner:
- Web UI: http://localhost:8080 or https://localhost:8443
- API: https://localhost:8443/api
The monolithic launcher uses Docker to run infrastructure dependencies (PostgreSQL, RabbitMQ, Vault, and the UI). All containers are automatically labeled with
group=lamassuiot-monolithic for easy cleanup.Docker Deployment
Using Pre-built Image
Build from Source
Use the official Dockerfile to build a custom image:monolithic.dockerfile
Configuration Flags
The monolithic launcher supports extensive command-line flags for customization:Crypto Engine Options
- Filesystem
- HashiCorp Vault
- AWS KMS
- AWS Secrets Manager
- PKCS#11 HSM
Storage Options
SQLite mode uses an ephemeral in-memory database (
file::memory:?cache=shared). Data is lost when the process stops.Event Bus Options
AWS IoT Core Integration
Enable the AWS IoT connector for cloud integration:Additional Flags
| Flag | Description | Default |
|---|---|---|
--standard-docker-ports | Use standard ports for Docker services | true |
--disable-monitor | Disable certificate monitoring job | false |
--disable-ui | Skip launching the UI container | false |
--sample-data | Populate with sample CAs, devices, and certificates | false |
Assembly Modes
The monolithic build supports two internal architectures:HTTP Mode (Default)
Each service runs as an independent HTTP server. Services communicate via SDK clients over HTTP.- CA Service: Internal HTTP port
- Device Manager: Internal HTTP port
- KMS: Internal HTTP port
- Gateway: Exposed at
:8080(HTTP) and:8443(HTTPS)
In-Memory Mode
Services share the same process and communicate via direct function calls.Use case: High-performance development testing
Sample Data
Populate the system with test data for manual exploration:- Sample Certificate Authorities
- Test device registrations
- Example certificate hierarchies
- Pre-configured policies
Service Endpoints
Once running, the following endpoints are available:| Service | Endpoint | Description |
|---|---|---|
| API Gateway | https://localhost:8443/api | Unified API access point |
| Web UI | http://localhost:8080 | Management dashboard |
| CA Service | https://localhost:8443/api/ca | Certificate Authority operations |
| Device Manager | https://localhost:8443/api/devmanager | Device management |
| KMS | https://localhost:8443/api/kms | Key management |
| Alerts | https://localhost:8443/api/alerts | Alert management |
| VA | https://localhost:8443/api/va | Certificate validation |
| DMS Manager | https://localhost:8443/api/dmsmanager | Device manufacturing |
Health Checks
Verify service health:Cleanup
The launcher automatically cleans up Docker containers onCTRL+C or when the process exits. To manually remove all infrastructure containers:
Troubleshooting
Port Conflicts
If ports 8080 or 8443 are already in use, modify the configuration in the source code or use a different deployment method.Docker Socket Permission
On Linux, ensure your user has access to the Docker socket:Infrastructure Startup Failures
Check Docker logs for the infrastructure containers:Next Steps
Configuration Reference
Detailed environment variables and config options
API Documentation
Explore the REST API endpoints
