Docker Deployment
Firmiana includes a multi-stage Dockerfile and docker-compose configuration for containerised deployment.
Quick Start
This builds the image and starts the server on port 8899.
Dockerfile
The Dockerfile uses a multi-stage build:
Stage 1 — Build: Maven 3.9 with GraalVM JDK 21 compiles the project.
Stage 2 — Runtime: GraalVM JDK 21 runtime runs the application as a non-root user.
Docker Compose
Environment Variables
Operations
Data Persistence
The H2 database file is stored in a Docker volume (firmiana-data) mounted at /app/data. This ensures data survives container restarts and rebuilds.
Health Check
The compose file includes a health check that pings /_matrix/client/versions. Check status with: