This document describes how Geti Instant Learn stores and manages persistent data, including the file system layout, database configuration, and volume mounting for Docker deployments.
Geti Instant Learn uses a SQLite database for configuration persistence and a file-based structure for media assets (datasets, prompts, thumbnails).
data/ # DB_DATA_DIR
├── instant_learn.db # SQLite database
└── templates/
└── datasets/
└── aquarium/ # Sample dataset (example)
logs/ # LOGS_DIR
└── instant-learn-backend.log # Application log
Geti Instant Learn uses SQLite as its embedded database for storing:
- Project configurations
- Source settings (cameras, video files, image folders)
- Sink configurations (MQTT, custom outputs)
- Model selections and parameters
- Prompt definitions (visual and text prompts)
- Label schemas
Database migrations are managed with Alembic. Migration scripts are located in application/backend/app/domain/alembic/versions/.
| Container Path | Purpose |
|---|---|
/instant_learn/data |
Database and user data |
/instant_learn/logs |
Application logs |
Note: The container runs as non-root user (UID 10001). For bind mounts, ensure host directories have correct permissions.
| Variable | Description |
|---|---|
DB_DATA_DIR |
Database and data directory |
LOGS_DIR |
Log files directory |