-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
| Path | When to use |
|---|---|
| Install with Agent | Paste the prompt from docs/install.md into your coding agent |
| Guided installer | First production or lab install (Gitea-oriented; add GitHub in the wizard/Settings) |
| Compose | Container runtime already in place |
| Binary | Single process, no Compose; good for GitHub-only via wizard |
| Local dev | Contributing / iterating on UI + API |
In-repo detail: docs/install.md.
- Go 1.26+ and Node 22+ (binary / local builds)
- Podman Compose or Docker Compose (installer default)
- At least one forge: a Gitea instance (~1.25+) and/or GitHub / GitHub Enterprise with an API token that can list repos, PRs, and Actions/workflows
- Public URL for GitSeer (needed for OAuth redirect and webhook delivery)
git clone https://github.com/ncdlabs/gitseer.git
cd gitseer # or local folder name if unchanged
./scripts/install.sh
# or: make installNon-interactive:
cp install.example.yaml install.yaml
# edit secrets: gitea_url, gitea_token, bootstrap_password, server_external_url, …
./scripts/install.sh --config install.yaml --non-interactiveThe installer writes gitignored .env + config.yaml, verifies dependencies, then starts GitSeer. It currently requires a Gitea URL/token; for GitHub-only, start with Compose/binary and use /setup to connect GitHub.
On first bootstrap-admin visit (when setup_completed is false), GitSeer opens /setup:
- Prepare — public GitSeer URL + generate or paste encryption key (required to store secrets)
- Forge picker — Gitea or GitHub (GitLab / Bitbucket Coming Soon)
- Connect — forge URL, service token / PAT
- Validate — connectivity/permission checks; create or paste webhook (+ Gitea OAuth when applicable)
- Finish — mark setup complete when at least one forge is configured
A second forge (or more instances of the same type) can be added later under Settings → Integration.
See Setup Wizard.
- Sign in (Gitea OAuth, GitHub OAuth, or bootstrap password).
- Click Sync now so the catalog is populated.
- Other users sign in with forge OAuth; ACL refreshes on login and on an interval (default 6h), scoped to instances where the user has a stored token.
Prefer the per-instance URL from Settings → Integration:
POST {external_url}/api/webhooks/gitea/{instanceID}
POST {external_url}/api/webhooks/github/{instanceID}
Legacy unscoped Gitea: POST {external_url}/api/webhooks/gitea (primary Gitea instance secret).
HMAC secret must match the instance (or config) webhook secret. Fail-closed when a forge URL is set in config and that forge’s secret is empty (unless unsigned webhooks are explicitly allowed for lab use).
./bin/gitseer install-ui --custom-path /var/lib/gitea/custom --gitseer-url https://gitseer.example.com --instance-id 1Opens GitSeer in a new tab from Gitea’s custom templates. Restart Gitea after template changes.