Operating Compose: installation, maintenance and backup
The lavalake reference deployment runs on one machine with Docker Compose. This page covers installation and updates through Ansible and the operational features through v0.36.0.
On this page
Installation and updates through Ansible
The playbook under deploy/ansible prepares a Debian/Ubuntu VM with SSH access: install Docker, fetch a pinned release, generate missing secrets, build images sequentially and start Compose. It waits for a healthy agent and an existing backup. Enter the target host and SSH user in your inventory and set lavalake_version to the desired release tag.
cd deploy/ansible
cp inventar.beispiel.ini inventar.ini
# Set target host, SSH user and lavalake_version in inventar.ini
ansible-playbook -i inventar.ini install.ymlFor an update, change the release tag and run the same playbook. Existing keys are preserved; database migrations run at startup. Images are built one at a time to limit peak memory use on smaller machines.
Installation acceptance
The playbook was written against the reference structure and YAML-validated. A full first run on a fresh VM remains outstanding. It does not configure a public hostname or TLS; these require a separate deployment step.
Schedules and Iceberg maintenance
Regeltermine offers reports, threshold alerts and maintenance. Choose a schedule, inspect run history or trigger a run manually. Background runs use the stored offline authorization and permissions of their owner.
The “Wartung” type compacts small files, expires old snapshots and removes orphan files. Retention ranges from 7 to 365 days, with a default of 7. No automatic cleanup runs until a maintenance schedule has been configured. A table error is recorded in the result while processing continues for the remaining tables.
Retention determines time travel
Expired snapshots are no longer available for time-travel queries. Set retention to cover the historical dates you will need. A maintenance schedule is not a backup.
What the daily backup contains
A dedicated backup service runs at startup and then daily. Backups are retained for 14 days by default; retention cleanup always preserves the latest backup. Betrieb → Überwachung shows its age and size and warns when it is missing or overdue.
| Component | Included in the backup |
|---|---|
| Platform database | Yes: including chats, policies, schedules, registrations and usage. |
| Keycloak and Nessie | Yes: users and roles, catalog and reference history. |
| Configuration (.env) | Yes, including the key for encrypted credentials. |
| Iceberg/Parquet files in MinIO | No, back up separately. |
| WORM audit archive in MinIO | No, back up separately. |
A backup on the same machine is not enough
The backup volume initially lives on the same machine. Copy it to another system regularly and protect the included keys as credentials. Stored credentials cannot be recovered without the original encryption key.
Prepare for recovery
The procedure is documented in docs/betrieb/WIEDERHERSTELLUNG.md in the product repository. Recovery requires compatible database backups, configuration and MinIO data. A database backup alone does not restore the lakehouse data. Automatic MinIO site replication is not yet part of the delivered operational setup. Rehearse recovery on a separate test installation.
Query workload classes
In Compose, roles assign queries to a Trino resource group. Limits apply to the combined queries of a class, not as an individual allowance per user. Memory percentages are soft limits for admitting further queries, not reserved memory shares.
| Class / role | Concurrent queries | Soft memory limit |
|---|---|---|
| S / leistung-s | 1 | 10 % |
| M / leistung-m | 2 | 25 % |
| L / leistung-l | 4 | 50 % |
| No assignment | 2 | 25 % |
| Platform administrator | 10 | 80 % |
Assign the role under Verwaltung → Nutzer & Rollen. If multiple workload roles apply, L takes precedence over M, then S; platform administrators use their own class. Selection takes effect through the role-to-group file. This does not provision additional machines, auto-suspend or automatically growing clusters.
Usage and limits
Monitoring shows compute time and data read by user and purpose, together with daily quotas. AI usage, model prices and daily token budgets appear in “KI-Kosten”. The AI backend guide covers providers, price synchronization and budget limits in detail.
Scope
The backup service and workload classes on this page apply to Compose. Helm needs separate integration, particularly for generated-policy enforcement. High availability, complete recovery after machine failure and fully air-gapped operation remain planned work.
Applies to: This page describes lavalake 0.36.0. Product and documentation live in separate repositories — when in doubt, what the console shows is authoritative.
Something missing?
If these pages do not answer your question, we will walk through the platform against your own case in half an hour.
Book a demo