Running the River UI

River includes a graphical user interface, which lets users view and manage jobs without having to resort to manually querying the database, or falling back to the command line.

A live demo of River UI is available to see what it looks like.


A working River database is required for the UI to start up properly. See running River migrations, and make sure a DATABASE_URL is exported to env.

$ go install
$ river migrate-up --database-url "$DATABASE_URL"

River UI does not require authentication

The River UI doesn't currently have any kind of authentication system, and is therefore available to anyone able to connect to where it's hosted. Make sure to only host it in private contexts like an internal VPN so that it's not publicly accessible.

From binary

River UI releases include a set of static binaries for a variety of architectures and operating systems. Use one of these links:

Or fetch a binary with cURL:

$ RIVER_ARCH=arm64 # either 'amd64' or 'arm64'
$ RIVER_OS=darwin  # either 'darwin' or 'linux'
$ curl -L${RIVER_OS}_${RIVER_ARCH}.gz | gzip -d > riverui
$ chmod +x riverui
$ ./riverui

From container image

River UI ships container images with each release. Pull and run the latest with:

$ docker pull
$ docker run -p 8080:8080 --env DATABASE_URL
Inserting and working jobs