| Crates.io | rustytime-server |
| lib.rs | rustytime-server |
| version | 0.18.2 |
| created_at | 2025-09-21 22:26:47.587921+00 |
| updated_at | 2026-01-25 00:48:51.471003+00 |
| description | 🕒 blazingly fast time tracking for developers |
| homepage | https://rustytime.shymike.dev |
| repository | https://github.com/ImShyMike/rustytime |
| max_upload_size | |
| id | 1849256 |
| size | 471,299 |
rustytime is a self-hosted, WakaTime-compatible backend for tracking your coding time that works with any* existing WakaTime plugin!
*every plugin that allows setting custom API URLs
git clone https://github.com/ImShyMike/rustytime && cd rustytime
cp .env.example .env
Edit the .env file with your GitHub OAuth credentials:
GITHUB_CLIENT_ID=your_client_id
GITHUB_CLIENT_SECRET=your_client_secret
docker compose up
The app should now be now available at http://localhost:5173
# Start database + backend only
docker compose up timescaledb rustytime
# Run frontend (in another terminal)
cd frontend && npm run dev
Configure your WakaTime plugin to use rustytime:
| Environment | API URL |
|---|---|
| Local | http://localhost:3000/api/v1 |
| Hosted | https://api-rustytime.shymike.dev/api/v1 |
Most plugins support setting a custom API URL in their settings. Use your rustytime API key from the settings page.
cd rustytime
cargo run # Start server
cargo run --features seed # Start with test data (10k heartbeats)
cargo test # Run tests
cargo build --release # Production build
cd frontend
npm run dev # Start dev server
npm run build # Production build
npm run check # Type check
npm run lint # Lint code
Enable tracing, metrics, and logs with OpenTelemetry:
OTEL_SERVICE_NAME=rustytime-backend
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
OTEL_EXPORTER_OTLP_PROTOCOL=grpc
OTEL_TRACES_EXPORTER=otlp
OTEL_METRICS_EXPORTER=otlp
OTEL_LOGS_EXPORTER=otlp
Enable continuous profiling:
PYROSCOPE_SERVER_URL=http://localhost:4040
PYROSCOPE_SAMPLE_RATE=99
Probably not... this was just a fun side project, if you want something that's actually production ready just use Wakapi ðŸ˜
| Component | Details |
|---|---|
| Backend | Rust, Axum, Diesel |
| Frontend | SvelteKit, TailwindCSS |
| Database | TimescaleDB (PostgreSQL) |
This project is licensed under the GNU AGPLv3.