48 releases (6 breaking)
Uses new Rust 2024
| new 0.9.11 | Nov 10, 2025 |
|---|---|
| 0.8.6 | Nov 1, 2025 |
#39 in HTTP server
3,314 downloads per month
160KB
4K
SLoC
π blazingly fast time tracking for developers
Features
- β Time tracking
- β Stat visualization
- β WakaTime compatible
- β Fast and memory efficient
What is this?
rustytime is a WakaTime compatible server that can be used to track time in most apps with any of the existing plugins!
Installation
Compiling from source
Dependencies:
- rust
- docker
- git
git clone https://github.com/ImShyMike/rustytime.git
cd rustytime
mv .env.example .env
# Edit the .env file before running docker compose
docker compose up
Pulling containers from dockerhub
Dependencies:
- docker
- curl
mkdir rustytime
cd rustytime
curl -O https://raw.githubusercontent.com/ImShyMike/rustytime/main/.env.example
curl -o docker-compose.yml https://raw.githubusercontent.com/ImShyMike/rustytime/main/docker-compose.yml
mv .env.example .env
# Edit the .env file before running docker compose
docker compose up
Local Development
# Clone the repo
$ git clone https://github.com/ImShyMike/rustytime && cd rustytime
# Copy the env file
$ cp .env.example .env
Edit your .env file to include the following:
# GitHub OAuth Settings
GITHUB_CLIENT_ID=client_id_goes_here
GITHUB_CLIENT_SECRET=client_secret_goes_here
Build & Run
# Run the full app
$ docker compose up
# OR
# Run the databse + backend
$ docker compose up timescaledb rustytime
# Run the frontend
$ cd frontend && bun run dev
The app should now be available at http://localhost:5173
Seeding the DB
The seed feature can be enabled in the build to seed the database with a single user and 10000 heartbeats.
cargo run --features seed
WakaTime
When using a WakaTime client, point your requests to http://localhost:3000/api/v1 (or https://api-rustytime.shymike.dev/api/v1 if using the deployed version)
License
This project is licensed under the GNU AGPLv3
Dependencies
~30β48MB
~696K SLoC