83 lines
2.1 KiB
Markdown
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`)
|