Application-agnostic REST API and database for tool data synchronization across CAM systems, CNC machines, and tool rooms.
Loobric Server is the central REST API and database system that provides a unified interface for managing tool data across manufacturing systems. It's designed to bridge the gap between CAM software, CNC machines, and tool rooms with a focus on real-time synchronization and data integrity.
- RESTful API with bulk operations for efficient data handling
- Multi-tenant Architecture with automatic data isolation
- Security built in: role-based access control, tag-scoped API keys, immutable audit log
- Change detection by version or timestamp for efficient client sync
- Backup and restore with versioned tool set history and rollback
- Developer-Friendly with OpenAPI documentation and a CLI
Planned work (standards import, more clients, hosted offering) lives in ROADMAP.md — this README only claims what runs today.
Every release publishes a container image (amd64 + arm64) to GitHub Container Registry:
docker run -d --name loobric-server \
-p 8000:8000 \
-v loobric-data:/app/data \
-e DATABASE_URL=sqlite:////app/data/loobric.db \
-e MEDIA_DIR=/app/data/media \
ghcr.io/loobric/loobric-server:latestThe single loobric-data volume holds both the SQLite database and the media
store — back it up and you have everything.
For offline or air-gapped shops, each GitHub release
also attaches the same image as a tarball
(loobric-server-<version>-docker-amd64.tar.gz). Carry it over on removable
media and load it with:
docker load < loobric-server-<version>-docker-amd64.tar.gzTask-oriented walkthroughs for linking a CNC control and a CAM tool set:
- Build a CAM tool set from your machine's tools — the machine has the tools; get them into your CAM tool set (control → CAM).
- Match a machine and a CAM tool set you built separately — both sides exist; link them by identity and inherit the machine's numbering.
- Coming soon: the reverse direction (CAM → control) — push a CAM tool set down to a machine.
- Issues: If you encounter any problems, please open an issue.
- Discussion: For questions and discussions, use GitHub Discussions.
This project was started out of a personal need to synchronize linuxcnc machine control with FreeCAD CAM workbenches. As such, these are the reference implementations of clients. Additional clients are welcome and encouraged.
The reference Python client — an importable Client library and the loobric_server
command-line client. Lives in its own repo:
loobric-cli (pip install loobric-cli).
We welcome contributions! Please see our Contributing Guide for details on how to get started.