Skip to content
Vision EngineDOCUMENTATION
RUN & OPERATE/Persistent data and safe updates

Persistent data and safe updates

Images contain code and dependencies. Bind mounts and named volumes hold runtime data outside the image lifecycle.

Where each output lives

Normal container recreation preserves the configured mounts. Docker-managed volumes are separate from the checkout.

DataStorage and owner
ModelsHost models/ assets, mounted read-only for inference.
DatasetsHost collection.output_dir, default ./collected; collector owns sessions.
Pending rowsDocker buffer_data named volume; buffer owns SQLite.
Unconfirmed row batchesdelivery_row_builder volume; producer delivery journal.
Health snapshotshealth_snapshots volume; services write, monitor reads.
Terminal logsDocker logging driver; retention depends on its settings.

What the buffer guarantees

Row builder journals nonempty batches before acknowledged delivery to buffer. Ingest claims rows, sends them to the backend, and acknowledges confirmed success. Expired leases allow retry after interruption.

Update code without deleting data

Pull reviewed changes, regenerate from your existing installation YAMLs, then rebuild the affected service. Use the full deployment command when adding or removing stages.

Terminal · selective code update
git pull --ff-only
python -m config.controller --generate
docker compose -f config/.generated/pipeline.compose.yaml up --build -d --no-deps visionengine-inference-service-people
docker compose -f config/.generated/pipeline.compose.yaml logs --tail 30 visionengine-inference-service-people

Keep the volume namespace stable

Rebuilding images, normal up/recreation, stop, and down without volume deletion preserve named volumes. Preserve the host dataset directory separately.

Vision Engine · Configuration-driven services, branch-focused insights.