# 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`)