Installation

Doxyte is implemented in Go, so it should run on any operating system supported by the Go compiler. That said, it has only been tested on Linux.

To install Doxyte, you can either compile it from source, or run it as a Go tool, or pull the container image.

Compiling from source

To compile Doxyte from the source code, you will need Git and a Go compiler.

To get the source code, run git clone https://git.sr.ht/~javiljoen/doxyte.

To build the program, run go build ./cmd/doxyte in the source code directory.

You should then copy the resulting doxyte executable to somewhere on your PATH, e.g. /usr/local/bin or ~/.local/bin, so that you can run it from any directory.

You can check that it successfully installed by running doxyte -h. It should display a synopsis of how to run the program.

On a Debian-based system, you can do the whole process with these commands:

# Install Git and Go
sudo apt install git golang-go

# Fetch the source code
git clone https://git.sr.ht/~javiljoen/doxyte

# Build it
cd doxyte
make

# Copy it onto the PATH
make install PREFIX=~/.local

# Test that it runs
doxyte -h

As a project-specific Go tool

If you are using Doxyte for a Go project, you can just use go get -tool:

go get -tool git.sr.ht/~javiljoen/doxyte/cmd/doxyte@latest
go tool doxyte -h

An advantage of this method is that it is tracked in your go.mod, so you and your collaborators will all be using the same version.

The downside is that you have to remember to prefix the command with go tool. You also can’t use it outside a Go module.

Docker/OCI container

You can run Doxyte without compiling it yourself if you have Docker or Podman installed. (Optionally replace “podman” with “docker” in the following commands.)

podman pull codeberg.org/javiljoen/doxyte:latest
podman run --rm doxyte -h

To actually generate a site, you have to mount the source and output directories in the container using the -v/--volume flag:

podman run --rm -v ./docs:/mnt doxyte:latest \
    -c /mnt/config.toml -o /mnt/html
# or equivalently:
podman run --rm -v ./docs:/mnt -w /mnt doxyte -o html

The above will use the config from docs/config.toml and generate the site in docs/html on the host file system.

If SELinux is enabled on your system, you might have to add --security-opt label=disable before the image name (doxyte[:latest]) to prevent “Permission denied” errors.