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.
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.
- ▹ 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.
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.
Configure your environment
Copy the example env file and customize the credentials if you like.
Start the stack
Build and launch the single container in the background. PocketBase runs the migrations automatically on first boot and serves the app.
Open Castor
The app is now served at
http://localhost:5555. Open that URL in your browser — default credentials are
created from your
.env.