Skip to content

Docker

Oura provides already built public Docker images through Github Packages. To execute Oura via Docker, use the following command:

Terminal window
docker run ghcr.io/txpipe/oura:latest

The result of the above command should show Oura’s command-line help message.

Entry Point

The entry-point of the image points to Oura executable. You can pass the same command-line arguments that you would pass to the binary release running bare-metal. For example:

docker run -it ghcr.io/txpipe/oura:latest \
daemon --help

For more information on available command-line arguments, check the usage section.

Using a Configuration File

The default daemon configuration file for Oura is located in /etc/oura/daemon.toml. To run Oura in daemon mode with a custom configuration file, you need to mount it in the correct location. The following example runs a docker container in background using a configuration file named daemon.toml located in the current folder:

docker run -d -v $(pwd)/daemon.toml:/etc/oura/daemon.toml \
ghcr.io/txpipe/oura:latest daemon

Available Tags

Images are published to ghcr.io/txpipe/oura under several tags, each following a different update trigger (see the Updated on column). Pick the one that matches how closely you want to track new changes:

TagExampleUpdated onDescription
latestlatestevery push to mainTracks the tip of the main branch (development builds, not a release).
stablestableevery releaseTracks the most recent released version.
v{major}v2every releaseLatest release within a major version.
v{major}.{minor}v2.1every releaseLatest release within a minor version.
v{version}v2.1.0its matching releaseA specific, immutable release.
sha-{commit}sha-2dec504every buildA specific commit; fully immutable.

Versioned Images

Pin a fixed image version in production. latest tracks the main branch (not releases), so it can change under you on any push — avoid it outside of local experimentation.

To use a versioned image, replace the latest tag with the desired version, prefixed with v. For example, to pin the v2.1.0 release:

ghcr.io/txpipe/oura:v2.1.0

You can also track a major or minor line (for example v2 or v2.1) to automatically pick up compatible updates, or use stable to always run the most recent release. Note that latest follows the main branch rather than the latest release, so avoid it in production.