Skip to content

Run it manually

Three ways to get the rel binary itself running, pointed at whatever Postgres database you already have — pick whichever fits: a prebuilt release binary, a Docker container, or a build from source.

Download a prebuilt binary

Every tagged release publishes linux/darwin, amd64/arm64 archives on GitHub Releases:

curl -L -o rel.tar.gz https://github.com/rel-server/rel/releases/latest/download/rel_<version>_<os>_<arch>.tar.gz
tar xzf rel.tar.gz
./rel --pg.uri "postgres://user:pass@localhost:5432/mydb"

Replace <version>/<os>/<arch> with the release and platform you want (e.g. rel_1.2.0_linux_amd64.tar.gz) — the exact archive names are listed on each release's own page.

Run it with Docker manually

The same binary, as a small non-root, scratch-based image — no compose file, no reverse proxy, just a container listening on 8080:

docker run -p 8080:8080 -e REL_PG__URI="postgres://user:pass@host.docker.internal:5432/mydb" rel-server/rel

Every setting is an environment variable (REL_<SECTION>__<KEY>) the same way it is anywhere else — see Configuration. host.docker.internal reaches a Postgres running on the host itself from inside the container; point at a real host/container name instead if Postgres is already running in Docker too. See Docker deployment for a realistic multi-container setup — Postgres alongside rel, a reverse proxy, and automatic TLS.

Build from source

Needs Go installed locally; there's no separate go install-able module path, so building from a checked-out copy of the repo is the only supported source build:

git clone https://github.com/rel-server/rel.git
cd rel
go build -o rel ./cmd/rel
./rel --pg.uri "postgres://user:pass@localhost:5432/mydb"

See Launch it yourself for building from source and standing up this repo's own dev fixture database at the same time — the quickest way to have something real to point rel at while you read the rest of these docs.