Add Docker configuration and environment setup for Tennis Roots project

This commit is contained in:
Nicola
2026-06-24 13:08:41 +02:00
parent 2d4c3864ef
commit e36364b3d9
5 changed files with 113 additions and 1 deletions
+47 -1
View File
@@ -132,6 +132,49 @@ cd server
npm run dev # node --watch
```
## Deploy su VPS (Docker + Traefik)
Il progetto include `Dockerfile` e `docker-compose.yml` pronti per il deploy
su un'infrastruttura con **Traefik** come reverse proxy.
### Prerequisiti
- Docker e Docker Compose installati
- Rete `traefik-public` già esistente (`docker network create traefik-public`)
- Dominio configurato (es. `tennis.ricordatiilatte.it`)
### Procedura
```bash
# Clona il progetto sulla VPS
git clone <url> tennis-roots
cd tennis-roots
# Avvia
docker compose up -d
# Log
docker compose logs -f
```
### Accessi
| Risorsa | URL |
|---------|-----|
| Controller | `https://tennis.ricordatiilatte.it/controller/` |
| Scoreboard | `https://tennis.ricordatiilatte.it/overlay/scoreboard.html` |
| Match Info | `https://tennis.ricordatiilatte.it/overlay/match-info.html` |
| Clock | `https://tennis.ricordatiilatte.it/overlay/clock.html` |
| Server Ind. | `https://tennis.ricordatiilatte.it/overlay/server-indicator.html` |
| API stato | `https://tennis.ricordatiilatte.it/api/state` |
| WebSocket | `wss://tennis.ricordatiilatte.it/ws` |
### Note
- Il server è stateless (stato in memoria). Un restart azzera il match.
- Il WebSocket funziona nativamente con Traefik (upgrade HTTP → WS automatico).
- Se vuoi un dominio diverso, cambia il valore di `Host(...)` in `docker-compose.yml`.
## Regole punteggio implementate
- Punti game: 0, 15, 30, 40, Deuce, Vantaggio
@@ -156,6 +199,9 @@ tennis-roots/
│ └── server-indicator.html
├── controller/
│ └── index.html # Pannello di controllo
├── start.sh # Script avvio rapido
├── server/
│ ├── Dockerfile # Immagine container
│ └── ...
├── docker-compose.yml # Deploy con Traefik
└── README.md
```