Installation
install the githome binary from releases, go install, Docker, or a package manager
githome ships as a single statically linked binary with no runtime dependencies. Pick whichever installation method fits your environment.
System requirements
| Mode | CPU | RAM | Notes |
|---|---|---|---|
| SQLite (default) | 1 core | 256 MB | Recommended for single-team or evaluation use |
| Postgres | 2 cores | 512 MB | Required for concurrent write-heavy workloads |
Disk: the binary is under 30 MB. Data directory size depends on your repositories.
Verify any installation
After installing by any method, run:
githome --version
Expected output:
githome version 0.1.2 (commit abc1234) built 2026-01-15
Binary downloads
Pre-built binaries are published to the GitHub Releases page for every tagged version:
https://github.com/tamnd/githome/releases
The release archives follow the pattern githome_{version}_{os}_{arch}.tar.gz on Linux and macOS, and githome_{version}_{os}_{arch}.zip on Windows.
Linux amd64
VERSION="0.1.2"
curl -fsSL "https://github.com/tamnd/githome/releases/download/v${VERSION}/githome_${VERSION}_linux_amd64.tar.gz" \
| tar -xz githome
sudo mv githome /usr/local/bin/githome
Linux arm64
VERSION="0.1.2"
curl -fsSL "https://github.com/tamnd/githome/releases/download/v${VERSION}/githome_${VERSION}_linux_arm64.tar.gz" \
| tar -xz githome
sudo mv githome /usr/local/bin/githome
macOS (Apple Silicon)
VERSION="0.1.2"
curl -fsSL "https://github.com/tamnd/githome/releases/download/v${VERSION}/githome_${VERSION}_darwin_arm64.tar.gz" \
| tar -xz githome
sudo mv githome /usr/local/bin/githome
macOS (Intel)
VERSION="0.1.2"
curl -fsSL "https://github.com/tamnd/githome/releases/download/v${VERSION}/githome_${VERSION}_darwin_amd64.tar.gz" \
| tar -xz githome
sudo mv githome /usr/local/bin/githome
Windows amd64
Download from the releases page and extract the .zip:
$VERSION = "0.1.2"
Invoke-WebRequest `
-Uri "https://github.com/tamnd/githome/releases/download/v$VERSION/githome_${VERSION}_windows_amd64.zip" `
-OutFile "githome.zip"
Expand-Archive githome.zip -DestinationPath .
Move-Item githome.exe C:\tools\githome.exe
Add C:\tools to your PATH if it is not already there.
go install
If you have Go 1.22 or later installed, you can build and install the latest release directly from source:
go install github.com/tamnd/githome/cmd/githome@latest
This places the binary in $GOPATH/bin (usually ~/go/bin). Ensure that directory is in your PATH:
export PATH="$PATH:$(go env GOPATH)/bin"
Install a specific version:
go install github.com/tamnd/githome/cmd/[email protected]
Docker
Pull and run the latest image:
docker run --rm \
-p 3000:3000 \
-v githome-data:/var/lib/githome \
-e GITHOME_DATABASE_URL="sqlite:///var/lib/githome/githome.sqlite" \
-e GITHOME_DATA_DIR="/var/lib/githome/repos" \
-e GITHOME_HTML_BASE_URL="http://localhost:3000" \
ghcr.io/tamnd/githome:latest
Image tags:
| Tag | Meaning |
|---|---|
latest |
Most recent release |
0.1.2 |
Pinned release |
main |
Built from the main branch (development, not for production) |
Note: the image tag omits the v prefix. Use :0.1.2, not :v0.1.2.
For a persistent setup, use Docker Compose as shown in the Quick start.
Homebrew
githome publishes a Homebrew tap. Install with:
brew tap tamnd/tap
brew install githome
Update to the latest version:
brew upgrade githome
The formula installs the binary to /usr/local/bin/githome on Intel Macs and /opt/homebrew/bin/githome on Apple Silicon. Both are on the default PATH after a standard Homebrew setup.
Package managers
GoReleaser produces .deb, .rpm, and .apk packages for each release. These are attached to the GitHub release and also published to the project's package repository.
Debian / Ubuntu
VERSION="0.1.2"
curl -fsSL "https://github.com/tamnd/githome/releases/download/v${VERSION}/githome_${VERSION}_linux_amd64.deb" \
-o githome.deb
sudo dpkg -i githome.deb
RHEL / Fedora / Amazon Linux
VERSION="0.1.2"
curl -fsSL "https://github.com/tamnd/githome/releases/download/v${VERSION}/githome_${VERSION}_linux_amd64.rpm" \
-o githome.rpm
sudo rpm -i githome.rpm
Alpine Linux
VERSION="0.1.2"
curl -fsSL "https://github.com/tamnd/githome/releases/download/v${VERSION}/githome_${VERSION}_linux_amd64.apk" \
-o githome.apk
sudo apk add --allow-untrusted githome.apk
Running as a system service
After installing the binary, create a systemd unit file for production use on Linux:
# /etc/systemd/system/githome.service
[Unit]
Description=githome git forge
After=network.target
[Service]
Type=simple
User=githome
Group=githome
EnvironmentFile=/etc/githome/env
ExecStart=/usr/local/bin/githome serve
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
Create the environment file at /etc/githome/env:
GITHOME_DATABASE_URL=sqlite:///var/lib/githome/githome.sqlite
GITHOME_DATA_DIR=/var/lib/githome/repos
GITHOME_HTML_BASE_URL=https://git.example.com
GITHOME_LISTEN_HTTP=:3000
GITHOME_ENV=production
GITHOME_LOG_FORMAT=json
Create the system user and data directory, then enable the service:
sudo useradd --system --home /var/lib/githome --shell /usr/sbin/nologin githome
sudo mkdir -p /var/lib/githome/repos
sudo chown -R githome:githome /var/lib/githome
sudo systemctl daemon-reload
sudo systemctl enable --now githome
Verify it is running:
sudo systemctl status githome
curl -s http://localhost:3000/healthz
Next steps
- Follow the Quick start to create your first repository and push commits.
- See Configuration for the full
GITHOME_*environment variable reference. - See Reverse proxy for putting githome behind nginx or Caddy with automatic TLS.