Four standalone Markdown docs instead of growing CLAUDE.md further: setup.md (one-time secrets/master-key/migrations), running-the-server.md (local venv vs Docker+Caddy, dev self-signed vs production domain), guida-utente.md (dashboard: deposit+QR, bet, withdrawal, round timer/ jackpot) and guida-admin.md (the /admin panel and its API equivalent). Written in Italian per explicit request, unlike the rest of the repository's English-only docs. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2.3 KiB
Guida admin
Come gestire la configurazione operativa di PLM Lottery. Presuppone che il server sia già avviato — vedi running-the-server.md.
Accesso
Il pannello admin è su https://<host>/admin — non è collegato da
nessun link nell'interfaccia utente (né in entrata né in uscita): ci si
arriva solo conoscendo l'URL. Non è protetto da login personale, ma da un
token condiviso (ADMIN_TOKEN, definito in .env).
Apri la pagina, incolla il valore di ADMIN_TOKEN nel campo "Admin token" e
usa i bottoni:
- "Carica configurazione attuale" → mostra
fee_addressebet_amount_sats(in PLM) correnti - "Salva" → aggiorna i valori nel database, effetto immediato, nessun riavvio del server necessario
Cosa si configura
| Campo | Significato |
|---|---|
| Fee address | L'indirizzo PLM su cui finisce il 30% di ogni round (fee). Obbligatorio: i payout non partono se questo campo è vuoto. |
| Bet amount (PLM) | Il costo fisso d'ingresso per round, mostrato/impostato in PLM (internamente il backend lavora in sats: 1 PLM = 100.000.000 sats). |
ROUND_DURATION_SECONDS (durata del round) non è qui: è una variabile
d'ambiente in .env, non modificabile a runtime — per cambiarla serve
riavviare il server con il nuovo valore.
Alternative all'interfaccia grafica
Le stesse operazioni si possono fare da terminale o da Swagger UI
(https://<host>/docs, sezione admin), sempre passando ADMIN_TOKEN
nell'header X-Admin-Token:
# leggere la configurazione
curl https://<host>/admin/config -H "X-Admin-Token: <ADMIN_TOKEN>"
# aggiornarla (importi in sats: 10 PLM = 1000000000)
curl -X PUT https://<host>/admin/config \
-H "X-Admin-Token: <ADMIN_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"fee_address": "plm1q...", "bet_amount_sats": 1000000000}'
Limiti noti
- Il token è unico e condiviso: non c'è identità per singolo admin né audit
di chi ha cambiato cosa (oltre alla tabella
audit_loggenerica). - Nessun rate limiting sugli endpoint admin (né su registrazione/bet/ prelievo utente).
- Se un payout fallisce (es. Electrum disconnesso, UTXO insufficienti), il
round resta bloccato in
paying_outsenza retry automatico — richiede intervento manuale.
Per l'elenco completo dei gap noti vedi la sezione "Known gaps / TODO" in
CLAUDE.md.