Files
nexterm/README.md
2026-05-14 17:30:51 +02:00

101 lines
2.5 KiB
Markdown

# Nexterm con Docker Compose
Questa cartella contiene una configurazione Docker Compose parametrizzata tramite file `.env`.
## Requisiti
- Docker Desktop (o Docker Engine)
- Docker Compose v2 (`docker compose`)
## File inclusi
- `docker-compose.yml`: configurazione del servizio
- `.env`: variabili di configurazione del deploy
## Configurazione
Modifica il file `.env` in base alle tue esigenze.
Variabili principali:
- `IMAGE`: immagine Docker da usare
- `CONTAINER_NAME`: nome del container nexterm
- `RESTART_POLICY`: policy di riavvio (condivisa da tutti i servizi)
- `PORT`: porta esposta sull'host
- `DATA_DIR`: directory dati persistenti
- `TZ`: timezone condivisa da tutti i servizi
- `ENCRYPTION_KEY`: chiave di cifratura obbligatoria per Nexterm
> `ENCRYPTION_KEY` deve essere una stringa esadecimale di **64 caratteri**.
Variabili Watchtower:
- `WATCHTOWER_IMAGE`: immagine Docker da usare (default: `containrrr/watchtower:latest`)
- `WATCHTOWER_CONTAINER_NAME`: nome del container Watchtower
- `WATCHTOWER_CLEANUP`: rimuove le vecchie immagini dopo l'aggiornamento (`true`/`false`)
- `WATCHTOWER_SCHEDULE`: schedule cron a 6 campi per il controllo aggiornamenti (default: ogni giorno alle 03:00)
- `WATCHTOWER_NOTIFICATIONS_LEVEL`: livello di log (`warn` consigliato)
Esempio rapido (PowerShell):
```powershell
$bytes = New-Object byte[] 32
[System.Security.Cryptography.RandomNumberGenerator]::Create().GetBytes($bytes)
($bytes | ForEach-Object { $_.ToString('x2') }) -join ''
```
Esempio rapido (Linux/macOS):
```bash
openssl rand -hex 32
```
## Avvio rapido con Make
```bash
make genkey # genera e scrive ENCRYPTION_KEY nel .env
make check # verifica prerequisiti e configurazione
make up # avvia i container
```
Altri comandi disponibili:
```bash
make logs # segue i log di nexterm
make ps # stato dei container
make update # aggiorna le immagini e ricrea i container
make down # ferma e rimuove i container
make help # lista completa dei comandi
```
## Avvio manuale
```bash
docker compose up -d
```
## Verifica
```bash
docker compose ps
docker compose logs -f nexterm
```
Apri poi il browser su:
- `http://localhost:${PORT}`
## Stop e rimozione
```bash
docker compose down
```
> I dati restano nel percorso indicato in `NEXTERM_DATA_DIR`.
## Migliorie applicate
- Parametrizzazione completa del servizio tramite `.env`
- Default sicuri nel `docker-compose.yml` usando `${VAR:-default}`
- Separazione chiara tra configurazione ( `.env` ) e orchestrazione (`docker-compose.yml`)