https://github.com/dorianim/distributed-timer
A simple, distributed timer, originally designed for bouldering for competitions.
https://github.com/dorianim/distributed-timer
boulder boulder-timer bouldering competition synchronized-timer timer
Last synced: 6 months ago
JSON representation
A simple, distributed timer, originally designed for bouldering for competitions.
- Host: GitHub
- URL: https://github.com/dorianim/distributed-timer
- Owner: dorianim
- License: agpl-3.0
- Created: 2023-03-01T09:34:48.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-17T09:17:31.000Z (about 1 year ago)
- Last Synced: 2025-03-28T01:47:30.616Z (7 months ago)
- Topics: boulder, boulder-timer, bouldering, competition, synchronized-timer, timer
- Language: Svelte
- Homepage: https://timer.itsblue.de
- Size: 835 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
distributed-timerA simple, distributed timer, originally designed for bouldering for competitions.
# Features
- Create timers with custom sequences
- Indication sound at one minute and a countdown at five seconds
- Show the timer on many devices
- Time is synced accurately even when the clock of the devices is out of sync
- set custom background colors
- change color or labels without restarting the timer
- start the timer at a scheduled point of time in the future
- prevent a device showing the time from going to sleep## Screenshots
# Usage
You can use our publicly hosted instance free of charge: **[timer.itsblue.de](https://timer.itsblue.de)**
If you'd like to self-host, you can also use docker:
- 1. install docker and docker-compose on your system (follow the [official guide](https://docs.docker.com/engine/install/#server))
- 2. create the folder `/opt/distributed-timer`
- 3. create the file `/opt/distributed-timer/docker-compose.yml` with this content:```yaml
services:
timer:
image: ghcr.io/dorianim/distributed-timer:latest
environment:
JWT_KEY: some-random-string
REDIS_STRING: "redis://:@redis/0"
ports:
- 3000:3000
depends_on:
- redisredis:
image: docker.io/redis
volumes:
- ./redis-data:/data
```Make sure, to replace the JWT_KEY.
- 4. start the container: `docker-compose up -d`
# Build
## binary
To build a binary, you need:
- cargo >= 1.67.1
- npm >= 8.19.2To build, run `cargo build --release` in the repo.
## docker image
To build the docker image, simply run `docker build . -t boulder-timer` in the repo.