Data layout
All persistent state lives under the data directory (default ~/.oneopen).
Directory tree
~/.oneopen/
├── oneopen.db # SQLite
├── projects/
│ └── <project_id>/
│ └── images/ # managed uploads (UUID filenames)
├── uploads/ # fallback upload paths
├── exports/ # YOLO zips, COCO JSON, …
├── models/
│ ├── registered/ # copied custom weights
│ ├── runs/ # Ultralytics / LibreYOLO training runs
│ └── sam_vit_b_01ec64.pth # optional SAM checkpoint
└── training_jobs/
└── <job_id>.json # train job status / metrics
Custom project location values replace projects/<id>/ for that project’s image storage.
SQLite tables (overview)
Table |
Contents |
|---|---|
|
Name, type, location, timestamps |
|
Per-project classes and colors |
|
Filename, filepath, size, split, annotated flag |
|
Geometry JSON, type, confidence, source |
|
Version metadata + pipeline configs |
|
Custom weight registry |
Backup
To back up a machine:
Stop
oneopen serveif a train job is running.Copy the entire
ONEOPEN_DATA_DIRtree (DB + files together).
Restoring requires the same relative layout so filepath columns still resolve.
Disk use
Training runs and exported zips grow quickly. Prune models/runs/ and exports/ periodically if space is tight. Project images under managed locations are deleted with the project when applicable; in-place import locations are left intact.