Private · Self-hosted · Open

Track time like a beaver builds dams.

Castor is a sleek, private time-tracking system for projects, epics and tasks — with a real-time timer, manual entries, and weekly reports. Yours to host, yours to keep.

Capabilities

Everything for focused work

Real-time timer

Start a timer on any task and watch your hours accrue live.

Live presence

See who else is tracking a task in real time, right on the timer.

Manual entries

Log past work through a quick popover with start and end fields.

Project hierarchy

Organize work into clients, projects and epics that scale.

Task view

An interactive list with status, priority and progress at a glance.

Weekly reports

Overview your activity and statistics for any week.

Automated backend

Powered by PocketBase with automatic migrations out of the box.

Why Castor
  • Self-hosted — your data never leaves your server.
  • Lightweight — Nuxt 4 frontend, Go PocketBase backend.
  • Docker-first — one command and you're running.
  • Bilingual UI — English and Slovenčina built in.
  • PWA-ready — install Castor to your home screen.
Today
Redesign landing page 00:42:18
API rate limiting 1:12:05
Write migration notes 0:38:51
Client review call 0:55:00
Self-hosted

Run it with Docker

Castor runs as a single Docker container. The Nuxt frontend is built into a static SPA and served by PocketBase alongside the API — no separate services, no external dependencies.

Requires Docker & Docker Compose installed on your machine.

Clone the repository

Get the source onto your machine.

$ git clone https://gitlab.com/dkuljovsky/castor.git && cd castor

Configure your environment

Copy the example env file and customize the credentials if you like.

$ cp .env.example .env

Start the stack

Build and launch the single container in the background. PocketBase runs the migrations automatically on first boot and serves the app.

$ docker compose up -d

Open Castor

The app is now served at http://localhost:5555. Open that URL in your browser — default credentials are created from your .env.

Ready to track?

Spin up Castor with Docker Compose and claim your time in minutes.