Downloads and distributions

Offen is currently distributed in two ways: packaged as a single binary file for Linux, MacOS and Windows or as a Docker image. The most recent release is available here, Docker images are hosted on Docker Hub.

The latest binary tarball can be downloaded from https://get.offen.dev:

curl -sSL https://get.offen.dev -o offen.tar.gz

On Docker Hub, latest will give you the last release:

docker pull offen/offen:latest

For Ubuntu and Debian, we also provide a deb package you can download:

curl -sSL https://get.offen.dev/deb -o offen.deb

Table of contents

  1. Release channels
  2. Downloading binary files
  3. Verifying the binaries’ signatures
  4. Pulling the Docker image
  5. Click-To-Deploy
    1. Heroku
    2. DigitalOcean
    3. YunoHost
  6. Building Offen for architectures other than amd64

Release channels

Both for binaries and Docker images you can use one of these channels to pick your download:

Tagged releases

In case you want to deploy Offen, this channel is what you are most likely going to use. When ready, we cut official releases and tag them with a version identifier (e.g. v0.1.0). These releases are immutable and will never change, so both a download and the Docker image are guaranteed to provide the exact same build every time.

Stable channel

The stable channel gives you the most recent build from the master branch of our repository. These are usually stable and ready to use. Be aware that there is not necessarily an upgrade path in between stable versions. Only binaries and Docker images are available for this channel.

Development channel

The development channel gives you the most recent build from the development branch of our repository. This is likely to contain things that are not production ready or bring other kinds of caveats. Only binaries and Docker images are available for this channel. You probably should not use this unless you are participating in the development of Offen.


Downloading binary files

Binary files can be downloaded from our GitHub repository or using get.offen.dev. The most recent release is available here.

Downloading https://get.offen.dev will give you a tarball containing the most recent tagged release. If you specify a version or channel like https://get.offen.dev/v0.1.0-alpha.8 you will download that specific version.

# most recent release
curl -sSL https://get.offen.dev
# most recent build from the development channel
curl -sSL https://get.offen.dev/development
# build for v0.1.6
curl -sSL https://get.offen.dev/v0.1.6

Heads Up

The archive file currently contains the binaries for all supported operating systems, so no matter which OS you are targeting, you will always download the same file.

Verifying the binaries’ signatures

To prevent unwanted modifications of our releases, we sign all binaries using GPG and include the signature in our distribution. You can run the following commands to verify the integrity of your download:

curl https://keybase.io/hioffen/pgp_keys.asc | gpg --import
gpg --verify offen-linux-amd64.asc offen-linux-amd64

Debian packages are also signed:

curl https://keybase.io/hioffen/pgp_keys.asc | gpg --import
dpkg-sig --verify offen.deb

Pulling the Docker image

Docker images are available as offen/offen on Docker Hub. Tagged releases are available under the respective tag (e.g. offen/offen:v0.1.0). The stable and development channel are available as image tags as well. As per Docker convention latest maps to the latest tagged release.

# v0.1.6 release
docker pull offen/offen:v0.1.6
# stable channel
docker pull offen/offen:stable

Heads Up

While our version tags on Docker Hub are immutable and will always return the same build, it is important to note that development, stable and latest will be updated on a rolling basis. If you deploy Offen using Docker, make sure to use a version tag or pin your image’s revision.


Click-To-Deploy

We currently also offer “Click-To-Deploy” packages for the following hosting providers:

Heroku

You can deploy Offen to Heroku using our deployment template. We also offer a tutorial on this website.

DigitalOcean

Using Packer you can build our DigitalOcean image and use it to create a new Droplet running Offen.

YunoHost

If you use YunoHost to self-host your applications, you can install our [packaged Offen app][ynh-repo] to get Offen up and running:

$ sudo yunohost app install https://github.com/offen/offen_ynh

Building Offen for architectures other than amd64

Current distributions of Offen target amd64 architectures only. If you want to run Offen on different hardware (e.g. Raspberry Pi), it is trivial to build a binary for your target OS and platform yourself. Assuming you have Docker and make installed, you can build the latest version like this (the example targets Linux on ARM v8):

git clone git@github.com:offen/offen.git
cd offen
git checkout v0.1.6
TARGETS=linux/arm64 make build

Once finished, the bin folder contains your binary of choice. Currently supported architectures are all architectures supported by xgo:

  • 386
  • amd64
  • arm-5
  • arm-6
  • arm-7
  • arm64
  • mips
  • mipsle
  • mips64
  • mips64le

Supported operating systems are:

  • linux
  • darwin
  • windows