Skip to content
Arbinel

Install Arbinel

You install Arbinel the same way as Forgejo, because its binary and images are drop-in replacements for Forgejo’s. For all other steps, follow Forgejo’s binary installation or container installation guide.

To replace an existing Forgejo instance, read Switch from Forgejo instead.

Arbinel releases are v<version> tags on arbinel/arbinel. Each release is built on one Forgejo release, and its release notes name it. Upgrading explains how the two version numbers relate.

Each release has a static Linux binary for amd64 and arm64, built with the same tags as Forgejo’s release binaries (bindata and sqlite). The assets are named after Arbinel, with the version without its leading v:

Asset Content
arbinel-<version>-linux-<arch> The executable.
arbinel-<version>-linux-<arch>.xz The same executable, compressed with xz.
arbinel-<version>-linux-<arch>.sha256 The SHA-256 checksum of the executable.
arbinel-<version>-linux-<arch>.xz.sha256 The SHA-256 checksum of the compressed file.
arbinel-<version>-linux-<arch>.asc The GPG signature of the executable.
arbinel-<version>-linux-<arch>.xz.asc The GPG signature of the compressed file.

The executable inside is still Forgejo’s forgejo command. Rename the download to forgejo and install it where Forgejo’s guide puts the Forgejo binary. Every command, flag and subcommand in Forgejo’s documentation works unchanged.

Set VERSION to the release you want to install, without the leading v. The second line maps the machine’s architecture to the name the assets use.

VERSION=<version>
ARCH=$(uname -m | sed 's/x86_64/amd64/; s/aarch64/arm64/')
BASE=https://codefloe.com/arbinel/arbinel/releases/download/v${VERSION}
wget "${BASE}/arbinel-${VERSION}-linux-${ARCH}" \
     "${BASE}/arbinel-${VERSION}-linux-${ARCH}.sha256" \
     "${BASE}/arbinel-${VERSION}-linux-${ARCH}.asc"

Compare the checksum. The .sha256 file uses the output format of sha256sum, so run the check in the directory you downloaded to:

sha256sum -c "arbinel-${VERSION}-linux-${ARCH}.sha256"

Then check the signature against Arbinel’s release signing key:

gpg --verify "arbinel-${VERSION}-linux-${ARCH}.asc" "arbinel-${VERSION}-linux-${ARCH}"

forgejo --version reports the Forgejo version the binary is built on, in Forgejo’s format, and adds the Arbinel version as the release name:

./forgejo --version

The output contains release name <version> with the Arbinel version. A build without an Arbinel version, such as the dev images or a local build, names its release dev on the administration summary.

Arbinel publishes multi-platform images for linux/amd64 and linux/arm64 to two registries, under the same tags:

  • codefloe.com/arbinel/arbinel
  • docker.io/arbinel/arbinel

The images are built from Forgejo’s unchanged Dockerfile and Dockerfile.rootless. Ports, volumes, users, environment variables and the forgejo entrypoint are the same as in Forgejo’s images, so Forgejo’s container guide applies as written. Replace the image name and tag with Arbinel’s.

Tag Content
:<version> The standard image of one release.
:<version>-rootless The rootless image of one release.
:<major>.<minor>, :<major>.<minor>-rootless The latest stable release of that Arbinel minor version.
:<major>, :<major>-rootless The latest stable release of that Arbinel major version.
:dev, :dev-rootless The latest push to main. Not a release.

There is no :latest tag. Pin a version, or a moving :<major> or :<major>.<minor> tag. Pre-releases get only their exact :<version> tag.

Use :dev only to try changes before they are released. It changes with every merge, and its database migrations may be newer than any release you could go back to.

The site administration’s configuration page, under Server configuration, lists:

  • Arbinel version: the Arbinel release, or dev.
  • Forgejo compatibility: the Forgejo version the build is built on and can replace.

The API’s version endpoint and forgejo --version report the Forgejo version only, so that runners and other clients that check it keep working.