rustytime-server 0.9.11

🕒 blazingly fast time tracking for developers
rustytime-server-0.9.11 is not a library.
Visit the last successful build: rustytime-server-0.23.2

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