Install¶
leBLOB needs Python 3.12 or later, on Linux or macOS. Linux is the platform to run it on: on macOS, fsync doesn't flush the drive's cache, so a power cut can lose writes that were acknowledged. Use macOS for development and trying it out.
From source¶
With uv:
uv sync creates a virtual environment in .venv with leBLOB and its dependencies. Run the commands with uv run leblob, or activate the environment and run leblob.
As a package¶
leBLOB isn't published on PyPI under this name yet. To install it elsewhere, build a wheel from a checkout and install that:
uv tool install puts the leblob command on your PATH. pip install dist/leblob-*.whl into a virtual environment works too.
In a container¶
The repository has a Dockerfile. It builds a wheel, installs it in a python:3.12-slim image, and runs the server as the user leblob, on port 9000, with its data in the volume /data:
docker build -t leblob .
docker run -d --name leblob -p 9000:9000 -v leblob-data:/data leblob
docker logs leblob
The first start prints an access key once, so read it in docker logs. Options given after the image name go to leblob serve, for example --workers 2. The image has a health check on /-/health.
Inside the container the server listens on 0.0.0.0. Outside one, it listens on 127.0.0.1 unless --host says otherwise.
Upgrading¶
A newer version upgrades the data format when it starts. An older version can't then read it. Back up the metadata first:
A store written by an earlier release is tested to open in this one. See Backup and restore.
Next: the Quick start.