Hilde is an open source match tracking tool for games like foosball, air hockey, chess and similar
MIT License
You've got a foosball table or similar in your office and want to track your matches, player progress and compare yourself to your colleagues and see who's the best? You've come to the right place. Hilde is a match tracking app for games like foosball, table tennis, air hockey, etc. with achievements, elo ratings, statistics and more. Hilde is easy to setup and can be used by everyone.
A public demo is available at demo.hilde.gg.
Hilde can be installed in a few minutes, either by deploying it to Vercel, using Docker or setting it up manually.
Requirements:
Keep in mind that after installing you need to add a season via the admin ui (/admin
) using the password from the environment variable (ADMIN_PASSWORD
).
Hilde is designed in a way that it could easily be hosted for free, using Vercel for hosting and Planetscale for the database.
Example docker-compose.yml
:
version: '3'
services:
hilde:
depends_on:
- database
networks:
- internal
image: nehalist/hilde
ports:
- '127.0.0.1:3000:3000'
environment:
- DATABASE_URL=mysql://root:hildepw@database:3306/hilde
- ADMIN_PASSWORD=v3rys3cr3tp4ssw0rd
database:
networks:
- internal
image: mysql:8.0
environment:
- MYSQL_DATABASE=hilde
- MYSQL_ROOT_PASSWORD=hildepw
volumes:
- db:/var/lib/mysql
volumes:
db:
networks:
internal:
After running docker-compose up -d
Hilde is running on localhost:3000
.
npm ci
to install dependenciesdocker-compose up -d
in order to start the database container (or adjust the .env
file to use a different db)npm run dev
to start the development serverThe official Docker image of Hilde is available on Docker Hub. Run it locally via:
docker run -p 127.0.0.1:3000:3000 -e DATABASE_URL=mysql://<user>:<password>@<host>:<port>/<db> nehalist/hilde
http://localhost:3000
Hilde provides an admin ui at /admin
which can be used to manage seasons.
Hilde provides a set of utility terminal commands:
Command | Description |
---|---|
npm run dev |
Starts the development server |
npm run build |
Builds the app |
npm run start |
Starts the production server |
npm run lint |
Lints files |
npm run migrate |
Executes Prisma migrations |
Hilde can be configured via environment variables in the .env
file.
Variable | Description | Default |
---|---|---|
ADMIN_PASSWORD |
Administration password | h1ldeb3steV3r |
NEXTAUTH_SECRET |
Token secret | +Zrk5zW6fgog5k0LbN4bxL1YXKIhvb65Yln5ZKf+g3o= |
NEXTAUTH_URL |
Deployed URL of Hilde | http://localhost:3000 |
DATABASE_URL |
Database connection string | mysql://root:hildepw@localhost:3309/hilde |
Hilde was created for fun and to play around with technologies I don't use on a daily basis in my office job, hence can be improved by many ways.
It's built on:
PRs are highly appreciated 🥳
If you like Hilde, please consider starring the repository. Thanks!
Developed by nehalist.io. Licensed under the MIT License.