Quick start
Prerequisites
Node.js 20 or later and pnpm (corepack enable pnpm — the version is pinned in package.json). Docker is enough if you only want to run the published image.
Standalone — your own dashboard
terminal
git clone https://github.com/dinhdobathi1992/gitdash.git cd gitdash pnpm install --frozen-lockfile cp .env.local.example .env.local # then set the two values below # .env.local MODE=standalone SESSION_SECRET=$(openssl rand -hex 32) pnpm run dev
Open http://localhost:3000; you are sent to /setup to paste a personal access token.
Organization — for a team
1
Create a GitHub OAuth App
GitHub → Settings → Developer settings → OAuth Apps → New OAuth App. Set the callback URL to
http://localhost:3000/api/auth/callback (your public URL in production).2
Provide a Postgres database
Any Postgres works (Neon on Vercel). Tables are created automatically on first start.
3
Configure .env.local
.env.local
MODE=organization SESSION_SECRET=replace_with_openssl_rand_hex_32 GITHUB_CLIENT_ID=your_oauth_app_client_id GITHUB_CLIENT_SECRET=your_oauth_app_client_secret DATABASE_URL=postgres://user:pass@host/db?sslmode=require GITDASH_ADMIN_GITHUB_IDS=12345678 # your numeric id: gh api user --jq .id GITDASH_ALLOWED_ORGS=my-org # optional NEXT_PUBLIC_APP_URL=http://localhost:3000
4
Start and assign access
pnpm run dev, sign in, then use Admin to put people in groups. See Access control for the rollout order.Token scopes
| Token | Needs |
|---|---|
| Classic PAT | repo, workflow, read:org, read:user, user:email |
| Fine-grained PAT | Read access to Actions, Contents, Metadata and Pull requests on the repositories you want to see; for an organization, create it with the org as resource owner and grant Members: read. |
| Cost page | A fine-grained token with the organization's Administration: read permission (GitHub billing APIs). |