Skip to content

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:

git clone https://git.sr.ht/~sfermigier/leblob
cd leblob
uv sync
uv run leblob --help

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 build --wheel
uv tool install dist/leblob-*.whl

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:

leblob backup --data-dir ./data meta-backup.db

A store written by an earlier release is tested to open in this one. See Backup and restore.

Next: the Quick start.