Skip to content

Install

💡 Tip: Use Caddy as your web server for better performance and simplified setup. Learn more >

This page describes multiple methods to install rimgo. The recommended method for production use is to install rimgo using Docker.

Docker

⚠️ Notice: Images have moved to codeberg.org/rimgo/rimgo

Docker images for rimgo are available on Codeberg for linux/amd64 and linux/arm64. To get started, install Docker if it is not already installed.

💡 Tip: These instructions also work with Podman, a more secure alternative to Docker. Just replace sudo docker compose with podman-compose.

Use git to clone the repository.

sh
git clone https://codeberg.org/rimgo/rimgo

Copy the .env.example file to .env and edit it. See this page for information on configuration.

sh
cp .env.example .env
nano .env

You can also edit docker-compose.yml if you want to change ports or build from source.

You can now run rimgo. 🎉

sh
sudo docker compose up -d

Binaries

Binaries are provided for Windows, macOS and Linux for amd64 and arm64.

https://codeberg.org/rimgo/rimgo/releases

Nix

You can install rimgo with Nix on Linux or MacOS from the official repository nixpkgs.

sh
# without flakes and nix command
nix-env -iA nixpkgs.rimgo

# with flakes and nix command
nix profile install nixpkgs#rimgo

If you are running NixOS, you can use the options under services.rimgo to run rimgo as a systemd service. See the NixOS Option Search for documentation on these.

Build from source

If you need to make changes to the source code or do development, follow these instructions. There are multiple ways to build from source.

🛈 Note: rimgo is licensed under the AGPL-3.0, which requires all source code modifications to be published under the same license.

You will need to use Go 1.16 or later. Follow the instructions to install Go. If you are using Fedora or Arch Linux, you can use your distribution's package manager to install Go (Debian/Ubuntu may not have up-to-date Go versions). Tailwind CLI is also required to build the CSS, and just for running commands.

To build a binary, use just build. This will build a binary that can be used on any distro (for Linux), you can also cross-compile for different architectures and operating systems using the GOARCH and GOOS environment variables.

Development

For development, use just dev.

GoReleaser

Releases for rimgo are managed using GoReleaser. To create and push a new release, follow these instructions:

🛈 Note: GITEA_TOKEN needs to be set as an environment variable with the read/write permissions on package and repository. This can be obtained in Settings > Applications.

  1. Tag a new release: git tag -a v1.1.1 -m "Message"
  2. Push the tag: git push origin v1.1.1
  3. Build and release with GoReleaser: goreleaser release --clean