Skip to main content

Self-Hosting

The partio dashboard can be self-hosted for teams that want full control over their data and deployment.

Prerequisites

  • Node.js 20+
  • GitHub OAuth App — Create one at github.com/settings/developers
    • Set the callback URL to http://localhost:3000/api/auth/callback/github (or your production URL)

Environment Variables

Create a .env.local file in the app/ directory:

Install & Run

The dashboard will be available at http://localhost:3000. Sign in with your GitHub account to start browsing checkpoints.

Production Build

For production deployments:
  • Set the GitHub OAuth callback URL to your production domain
  • Use a strong AUTH_SECRET value
  • Deploy behind HTTPS
The dashboard uses NextAuth v5 (beta). The AUTH_SECRET must be set in production — NextAuth will not start without it.

Architecture Notes

  • Auth: NextAuth v5 with GitHub OAuth provider. Sessions use JWT strategy.
  • Data: All data is fetched from GitHub via Octokit using the authenticated user’s access token. No additional database is required.
  • Themes: Theme color files are fetched from GitHub and cached with 24-hour revalidation.