From d958a4b9a57d6441c50ee593164717b7d220e094 Mon Sep 17 00:00:00 2001 From: Davide Grilli Date: Tue, 19 May 2026 09:19:10 +0200 Subject: [PATCH] docs: add network ports section to README Sezione dedicata alle porte con distinzione tra porte pubbliche (80, 443), interne Docker (3000, 5432, 1025) e solo sviluppo (8025). Include comandi UFW pronti per Ubuntu/Debian. --- README.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/README.md b/README.md index 7705cc9..fd234d7 100644 --- a/README.md +++ b/README.md @@ -271,6 +271,49 @@ docker compose restart app --- +## Porte di rete + +### Porte da aprire nel firewall del server (produzione) + +| Porta | Protocollo | Servizio | Perché è necessaria | +|-------|-----------|---------|---------------------| +| **80** | TCP | Caddy (HTTP) | Redirect automatico HTTP → HTTPS e rinnovo certificati Let's Encrypt (ACME challenge) | +| **443** | TCP | Caddy (HTTPS) | Traffico web principale — sito pubblico e pannello admin | + +> Solo queste due porte devono essere aperte verso l'esterno. Tutto il resto è interno a Docker. + +### Porte interne (rete Docker — non esporre al pubblico) + +| Porta | Servizio | Note | +|-------|---------|------| +| **3000** | Next.js (app) | Accessibile solo da Caddy tramite `reverse_proxy app:3000` | +| **5432** | PostgreSQL (db) | Accessibile solo dall'app tramite `DATABASE_URL` | +| **1025** | Mailpit SMTP | Accessibile solo dall'app per l'invio email | + +Queste porte non sono pubblicate nel `docker-compose.yml` (`expose` ≠ `ports`) e non raggiungibili dall'esterno del server. + +### Porta solo per sviluppo locale (non aprire in produzione) + +| Porta | Servizio | Note | +|-------|---------|------| +| **8025** | Mailpit UI | Interfaccia web per ispezionare le email di test — non deve mai essere esposta in produzione | + +### Riepilogo comandi firewall (UFW — Ubuntu/Debian) + +```bash +# Abilita solo HTTP e HTTPS +sudo ufw allow 80/tcp +sudo ufw allow 443/tcp + +# Blocca esplicitamente Mailpit dall'esterno (già bloccata di default se non aperta) +sudo ufw deny 8025/tcp + +sudo ufw enable +sudo ufw status +``` + +--- + ## Aggiornamenti ```bash