selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

Ziit logo

Self-host Ziit

v1.2.2

Self-hosted code time tracking dashboard

ReleaseOpen SourceAGPL-3.0
Updated9 hours ago
LanguageTypescript
Setup difficultyModerate
Stars
258
Port
3000 (HTTP web interface)
Requires
TimescaleDB (PostgreSQL)
Docker
ghcr.io/0pandadev/ziit
Install with Docker Compose
Ziit dashboard showing coding statistics

What is Ziit?

Ziit is a self-hosted, open-source code time tracker built as a privacy-friendly alternative to WakaTime. It gathers coding metrics from editor extensions and shows them in a simple dashboard. The service supports VS Code, JetBrains, NeoVim, and Zed, with login options including email/password, GitHub OAuth, and Epilogue OAuth. You can migrate existing data from WakaTime or WakAPI, create shareable badges for project readmes, and browse public statistics or a leaderboard on the instance. The stack uses Nuxt with Bun and TimescaleDB, deployed via Docker Compose under the AGPL-3.0 license.

Should you self-host Ziit?

Ziit scores 49/100 on selfhost.directory (how scoring works) and ranks #82 of 166 in Developer Tools. It has 258 GitHub stars.

It shipped 7 stable releases in the past year. The latest, v1.2.2, came out on 23 October 2026. New versions land roughly every 4 weeks.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is AGPL-3.0-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is ActivityWatch (80/100, 19 405 stars). It scores higher overall, so compare the two before you pick. See Ziit vs ActivityWatch side by side.

Features

  • Clean minimal dashboard
  • Detailed activity tracking
  • Email/Password Authentication
  • Embeddable badges
  • Epilogue OAuth
  • GitHub OAuth
  • IDE time tracking
  • Public leaderboard
  • Public stats page
  • Time-range filtering
  • WakaTime/WakAPI import

Ziit README

How to install Ziit

Install Ziit with Docker Compose

Docker and Docker Compose
Environment variables
NUXT_DATABASE_URL, NUXT_PASETO_KEY, NUXT_ADMIN_KEY, NUXT_BASE_URL, NUXT_DISABLE_REGISTRATION, NUXT_GITHUB_CLIENT_ID, NUXT_GITHUB_CLIENT_SECRET, NUXT_EPILOGUE_APP_ID, NUXT_EPILOGUE_APP_SECRET

curl -o docker-compose.yml https://raw.githubusercontent.com/0PandaDEV/Ziit/refs/heads/main/docker-compose.yml

Edit environment variables in docker-compose.yml

docker compose up -d

Requires TimescaleDB (PostgreSQL) container

How to configure Ziit

  • NUXT_ADMIN_KEYPassword for the admin dashboard

    Password for the admin dashboard

    values: <base64>

  • NUXT_BASE_URLhttp://localhost:3000Base URL of the Ziit instance including protocol

    Base URL of the Ziit instance including protocol

    values: https://example.com

  • NUXT_DATABASE_URLPostgreSQL connection string

    PostgreSQL connection string

    values: postgresql://user:pass@host:5432/db

  • NUXT_DISABLE_REGISTRATIONfalseDisable user registration

    Disable user registration

    values: true|false

  • NUXT_EPILOGUE_APP_IDEpilogue OAuth application ID

    Epilogue OAuth application ID

    values: <app-id>

  • NUXT_EPILOGUE_APP_SECRETEpilogue OAuth application secret

    Epilogue OAuth application secret

    values: <app-secret>

  • NUXT_GITHUB_CLIENT_IDGitHub OAuth client ID

    GitHub OAuth client ID

    values: <client-id>

  • NUXT_GITHUB_CLIENT_SECRETGitHub OAuth client secret

    GitHub OAuth client secret

    values: <client-secret>

  • NUXT_PASETO_KEYPASETO local key for token encryption

    PASETO local key for token encryption

    values: k4.local.<base64>

Ziit releases & version history

More in Productivity

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…