Skip to content

Running as a binary

Coequal compiles to a single static binary with no runtime dependencies. The frontend is embedded at build time.

Download

Pre-built RPM packages are published to a private S3 bucket (coequal-releases) for:

OSArchitecture
Linuxamd64, arm64

Contact Coequal to receive access to the bucket.

Run

bash
# Run with environment variables
DATABASE_URL="postgres://user:pass@localhost:5432/coequal?sslmode=disable" \
KINDE_DOMAIN="https://your-tenant.kinde.com" \
KINDE_CLIENT_ID="your-client-id" \
KINDE_CLIENT_SECRET="your-client-secret" \
KINDE_REDIRECT_URI="https://app.example.com" \
KINDE_LOGOUT_URI="https://app.example.com" \
MAILER_TRANSPORT="log" \
MAILER_FROM_NAME="Coequal" \
MAILER_FROM_EMAIL="noreply@example.com" \
./coequal

Or use a .env file in the working directory — it is loaded automatically.

Verify

bash
curl http://localhost:8080/metrics

Systemd service

Create /etc/systemd/system/coequal.service:

ini
[Unit]
Description=Coequal
After=network.target postgresql.service

[Service]
Type=simple
User=coequal
Group=coequal
WorkingDirectory=/opt/coequal
ExecStart=/opt/coequal/coequal
EnvironmentFile=/opt/coequal/.env
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Then enable and start:

bash
sudo systemctl daemon-reload
sudo systemctl enable --now coequal

Build from source

Requires Go 1.26+ and Node.js 22+.

bash
git clone https://github.com/coequal/coequal-go.git
cd coequal-go
make build
./coequal-go

The make build command runs sqlc code generation, builds the frontend, and compiles the Go binary with the frontend embedded.