Skip to content

ImShyMike/rustytime

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ•’ blazingly fast time tracking for developers


If you want to try this project out, you can head over to https://rustytime.shymike.dev for the deployed version!

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

Usage

Run the docker compose and open the website at http://localhost:3000

Seeding the DB

The seed feature can be enabled in the build that seeds the database with a single user and 10000 heartbeats.

cargo run --features seed

Using cloudflare

To get the actual client IP's when behind cloudflare, enable the cloudflare feature.

cargo run --features cloudflare

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