Files
nexterm/README.md
2026-05-14 17:26:19 +02:00

83 lines
2.1 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
```bash
docker compose up -d
```
## Verifica
```bash
docker compose ps
docker compose logs -f nexterm
```
Apri poi il browser su:
- `http://localhost:${NEXTERM_PORT_HOST}`
## 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`)