English
Manual install
This section goes from "PostgreSQL is installed (Redis optional)" to "the process is listening and the browser can open the admin console". Official Releases do not require copying frontend/dist.
Binary source
Open https://github.com/Kirizu-Official/KiriVers/releases and download the archive matching your prefix as listed on Choose an install path — for example KiriVers-Windows-x86_64-<hash>.zip, KiriVers-Linux-arm64-<hash>.zip. Extracting gives kirivers-<os>-<arch> (.exe on Windows). Follow the current Release and do not use guessed direct links: the hash at the end of the filename changes every release.
Windows
- Install the PostgreSQL Windows installer. Record the superuser password and port you chose (default
5432). Create a database and a role, for example databasekiriversand userkirivers. - Redis: on a single machine you can skip it and use
cache.driver=memory. If you do need Redis, install a Windows Redis build or run only Redis in Docker. - Download the matching prefix from Releases (
KiriVers-Windows-x86_64-,-x86-or-arm64-) and put the extracted.exein a stable directory, for exampleC:\KiriVers\. - Copy the repository's
configs/config-example.yaml,admin-example.yamlandclient-example.yamlinto that same directory, renaming themconfig.yaml,admin.yamlandclient.yaml. Edit the keys that must change before it will start — Notepad or VS Code is fine:postgres.dsn: host, user, password, database, porturl_signing_secretin production (otherwise signed download URLs die after a restart) Remaining keys: Configuration.
- Open a terminal in that directory:
bat
kirivers.exeNo arguments equals kirivers server. Expect the process to stay running and the logs to show the client :8080 and admin :8081 listeners.
- Open
http://127.0.0.1:8081in a browser. You should see the login page (“Sign in to KiriVers”). If you only see JSON: check whetherstatic_dirinadmin.yamlis the empty string (that disables the UI), and whether you are running a self-built binary produced without building the admin console. Official Releases already embed the console.
:8081 shows JSON only
static_dir: "" disables the UI even when the binary embeds index.html. A self-built binary that never ran yarn build in frontend/ may have no index.html in the embedded FS. Official Releases do not require copying frontend/dist.
- Start on boot: Task Scheduler → Create Basic Task → trigger "When the computer starts" → action "Start a program" pointing at
kirivers.exe, started in the directory holding the configuration files.
macOS
PostgreSQL: Homebrew brew install postgresql@17 or Postgres.app. Redis optional with brew install redis. Download the darwin archive from Releases (prefix KiriVers-macOS-), copy the three YAML files, run ./kirivers in a terminal. Open http://127.0.0.1:8081.
Linux (when you did not use the one-click script)
bash
sudo apt-get update
sudo apt-get install -y postgresql postgresql-contribbash
sudo dnf install -y postgresql-server postgresql
sudo postgresql-setup --initdb
sudo systemctl enable --now postgresqlDownload the Linux executable, copy the three YAML files, run ./kirivers.
systemd example
Replace User, WorkingDirectory and ExecStart with your real paths:
ini
[Unit]
Description=KiriVers
After=network.target postgresql.service
[Service]
Type=simple
User=kirivers
WorkingDirectory=/opt/kirivers
ExecStart=/opt/kirivers/kirivers -config /opt/kirivers
Restart=on-failure
[Install]
WantedBy=multi-user.targetWorkingDirectory: the directory holding the three YAML files (or point-configat it).ExecStart: the binary path. No extra arguments starts both planes.After=postgresql.service: best-effort wait for the database; PostgreSQL must be reachable at startup or the process fatals.
Enable with sudo systemctl enable --now kirivers.
Next: bootstrap the first admin.