Skip to content

dimidiumlabs/recluse

Repository files navigation

Recluse — tiny packages caching proxy

Soon humanity will go to Mars and in order for the colonists to be able to program, we will need a local mirror of packages.

Installation

Please note that the project is in its infancy and is not intended for production use.

Debian/Ubuntu:

sudo apt install curl gnupg

curl -fsSL https://github.com/dimidiumlabs/recluse/releases/download/nightly/public.gpg | sudo gpg --dearmor -o /usr/share/keyrings/recluse.gpg
echo "deb [signed-by=/usr/share/keyrings/recluse.gpg] https://dimidiumlabs.fsn1.your-objectstorage.com/apt/ nightly main" | sudo tee /etc/apt/sources.list.d/recluse.list
sudo apt update && sudo apt install recluse

sudo systemctl enable --now recluse

Fedora/RHEL:

# DNF5 (Fedora 41+, RHEL 10+)
sudo dnf config-manager addrepo --from-repofile=https://dimidiumlabs.fsn1.your-objectstorage.com/rpm/recluse-nightly.repo

# DNF4 (Fedora 40 and older, RHEL 8/9)
sudo curl -o /etc/yum.repos.d/recluse-nightly.repo https://dimidiumlabs.fsn1.your-objectstorage.com/rpm/recluse-nightly.repo

sudo dnf install recluse
sudo systemctl enable --now recluse

openSUSE:

sudo rpm --import https://github.com/dimidiumlabs/recluse/releases/download/nightly/public.gpg
sudo zypper addrepo https://dimidiumlabs.fsn1.your-objectstorage.com/rpm/ recluse-nightly
sudo zypper refresh
sudo zypper install recluse

sudo systemctl enable --now recluse

Build from source

  1. Clone repo: git clone https://github.com/dimidiumlabs/recluse.git && cd recluse

  2. Provision the toolchain and system build dependencies: mise bootstrap

  3. Build from source: mise exec -- cargo build --release

  4. Install manually

    sudo groupadd --system recluse
    sudo useradd --system --gid recluse --no-create-home --shell /usr/sbin/nologin recluse
    sudo install -m 700 -o recluse ./pkg/recluse.toml     /etc/
    sudo install -m 755 -o root   ./pkg/recluse.service  /usr/lib/systemd/system
    sudo install -m 755 -o root   target/release/recluse /usr/local/bin/
  5. start systemd service: sudo systemctl enable --now recluse

Contributing

We welcome your contributions, including code, bug reports, ideas, and success stories.

If you are making a contribution for the first time or from a new email, please add yourself to the .mailmap.

Signoff

To include your code, we ask that you read and agree to the CLA. To sign, add a CLA-Version: 1.0 and a Signed-off-by trailer to every commit (git commit -s --trailer "CLA-Version: 1.0"). Each commit in a pull request must carry a valid Signed-off-by line matching the commit author. Please use your real name. We cannot include code from anonymous contributors.

AI agents MUST NOT add Signed-off-by tags. Only humans can legally certify the Contributor License Agreement.

AI policy

You may use AI agents when writing code and documentation. AI is not allowed for media including images, videos, fonts at all. You must fully read, understand, and cleanup any code generated by the agent. We ask that you disclose the agent's use and indicate the tool, model, and extent of contribution.

Contributions should include an Assisted-by tag in the following format: Assisted-by: AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2], for example: Assisted-by: Claude:claude-4.6-opus coccinelle sparse

Remember, AI agents should make software better, not worse.

Licensing

Recluse source code is licensed under AGPL-3.0-or-later. Documentation is licensed under CC-BY-4.0.

The bundled JetBrains Mono font files are licensed under OFL-1.1.

Releases

Contributors

Languages