monoki docs Install Source

Install

monoki is a single static binary with no runtime dependencies. Pick whichever of these fits your setup.

One-liner (Linux, macOS)

curl -fsSL https://monoki.okonomi.cloud/install.sh | sudo bash

This downloads the binary for your OS and architecture, verifies its SHA-256, and installs it to /usr/local/bin/monoki. Read the script first if you would rather not pipe to a shell — it is short and deliberately boring.

Manual download

Binaries are published per release for linux/amd64, linux/arm64, darwin/amd64, darwin/arm64 and windows/amd64:

curl -fsSLO https://monoki.okonomi.cloud/latest/monoki-linux-amd64
curl -fsSLO https://monoki.okonomi.cloud/latest/monoki-linux-amd64.sha256
sha256sum -c monoki-linux-amd64.sha256
chmod +x monoki-linux-amd64
sudo mv monoki-linux-amd64 /usr/local/bin/monoki

Docker

docker run -d --name monoki \
  -p 8080:8080 \
  -v monoki-state:/var/lib/monoki \
  -e MONOKI_STATE_DIR=/var/lib/monoki \
  okonomigmbh/monoki:latest

A reference compose.yaml lives in deploy/docker/ in the repository.

Note that a containerised monoki reaches your LAN through the container's network. If your apps are on the host network and metadata lookups come back empty, either run with --network host or see Troubleshooting.

Running it

monoki run

By default it listens on :8080 and keeps its database in /var/lib/monoki. Both are configurable — see Configuration.

For anything reachable from outside your machine, put a TLS-terminating proxy in front of it. monoki speaks plain HTTP on purpose; see Running behind a proxy.

As a systemd service

# /etc/systemd/system/monoki.service
[Unit]
Description=monoki
After=network-online.target

[Service]
ExecStart=/usr/local/bin/monoki run
EnvironmentFile=-/etc/monoki.env
DynamicUser=yes
StateDirectory=monoki
Environment=MONOKI_STATE_DIR=/var/lib/monoki
Restart=on-failure

# monoki needs no privileges beyond its own state directory and outbound HTTP.
NoNewPrivileges=yes
ProtectSystem=strict
ProtectHome=yes
PrivateTmp=yes

[Install]
WantedBy=multi-user.target
sudo systemctl enable --now monoki

Build from source

Go 1.26 and Node 22 are needed to build; only Go is needed if you are not changing the web UI, since internal/webui/dist is committed.

git clone https://gitlab.com/okonomi-packages/monoki.git
cd monoki
make build      # -> bin/monoki