Under 10 minutes

Self-host OpenTracker

Run the whole thing on your own machine. All you need is Node 20, a free Supabase project, and the repo.

  1. 1

    Clone the repo

    Grab the source and drop into the app directory.

    bash
    git clone https://github.com/opentracker-ott/opentracker.git
    cd opentracker/app
  2. 2

    Install dependencies

    Node 20 or newer. The install takes about a minute.

    bash
    npm install
  3. 3

    Set up Supabase (free)

    Create a project at supabase.com, then open the SQL Editor and run the three extensions OpenTracker needs for crypto, trigram search, and vector embeddings.

    bash
    CREATE EXTENSION IF NOT EXISTS pgcrypto;
    CREATE EXTENSION IF NOT EXISTS pg_trgm;
    CREATE EXTENSION IF NOT EXISTS vector;
  4. 4

    Configure your environment

    Copy the example env file and fill in your Supabase connection strings and a freshly generated NextAuth secret.

    bash
    cp .env.local.example .env.local
    
    # Fill in:
    # DATABASE_URL   -> Supabase pooler URL (port 6543)
    # DIRECT_URL     -> Supabase direct URL (port 5432)
    # NEXTAUTH_SECRET-> openssl rand -base64 32
  5. 5

    Push the schema

    This creates all 81 tables. If you see extension errors, double-check step 3.

    bash
    npm run db:push
  6. 6

    Start the app

    Open http://localhost:3000 and sign up. You will land on the dashboard.

    bash
    npm run dev
Optional

Deploy to Vercel

Want your own hosted instance on the free Vercel tier? Five steps.

  • 1Push your fork to GitHub
  • 2Import the repo at vercel.com
  • 3Add the same env vars from .env.local
  • 4Deploy and set NEXTAUTH_URL to your Vercel URL
  • 5Add the Vercel URL to Supabase allowed redirect URLs
Fork on GitHub

Free forever

Start tracking today. Not after the next bill.

Spin up the hosted version in two minutes, or clone the repo and own every byte. Either way, it's free.

opentracker-ott/opentracker · MIT licensed