++ fix ed implementazioni

This commit is contained in:
2026-05-14 17:26:19 +02:00
parent 4686991b2f
commit 69556f63eb
4 changed files with 87 additions and 26 deletions

38
.env
View File

@@ -1,21 +1,41 @@
# Immagine Docker da usare # Immagine Docker da usare
NEXTERM_IMAGE=germannewsmaker/nexterm:latest IMAGE=germannewsmaker/nexterm:latest
# Nome del container # Nome del container
NEXTERM_CONTAINER_NAME=nexterm CONTAINER_NAME=nexterm
# Politica di riavvio (no | always | unless-stopped | on-failure) # Politica di riavvio (no | always | unless-stopped | on-failure)
NEXTERM_RESTART_POLICY=unless-stopped RESTART_POLICY=unless-stopped
# Porte host/container # Porta esposta sull'host
NEXTERM_PORT_HOST=8080 PORT=8080
# Percorso dati persistenti sul filesystem locale # Percorso dati persistenti sul filesystem locale
NEXTERM_DATA_DIR=./nexterm_data DATA_DIR=./nexterm_data
# Timezone del container # Timezone (condivisa da tutti i servizi)
NEXTERM_TZ=Europe/Rome TZ=Europe/Rome
# Chiave di cifratura usata da Nexterm (obbligatoria) # Chiave di cifratura usata da Nexterm (obbligatoria)
# Deve essere una stringa esadecimale di 64 caratteri (32 byte). # Deve essere una stringa esadecimale di 64 caratteri (32 byte).
NEXTERM_ENCRYPTION_KEY=4c4c18e819265ede62496d41dc6511ee4ec107ed0f6115a5d60856ed08ca933e ENCRYPTION_KEY=crea_una_chiave_esadecimale_di_64_caratteri_per_la_cifratura
# ---------------------------------------------------------------------------
# Watchtower - aggiornamento automatico delle immagini Docker
# ---------------------------------------------------------------------------
# Immagine Watchtower
WATCHTOWER_IMAGE=containrrr/watchtower:latest
# Nome del container Watchtower
WATCHTOWER_CONTAINER_NAME=watchtower
# Rimozione automatica delle vecchie immagini dopo l'aggiornamento
WATCHTOWER_CLEANUP=true
# Schedule cron (secondi minuti ore giorni mese giorno_settimana)
# Default: ogni giorno alle 03:00
WATCHTOWER_SCHEDULE=0 0 3 * * *
# Livello log notifiche (panic | fatal | error | warn | info | debug | trace)
WATCHTOWER_NOTIFICATIONS_LEVEL=warn

12
.gitignore vendored Normal file
View File

@@ -0,0 +1,12 @@
### Windows
# Windows thumbnail cache files
Thumbs.db
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows shortcuts
*.lnk

View File

@@ -18,17 +18,25 @@ Modifica il file `.env` in base alle tue esigenze.
Variabili principali: Variabili principali:
- `NEXTERM_IMAGE`: immagine Docker da usare - `IMAGE`: immagine Docker da usare
- `NEXTERM_CONTAINER_NAME`: nome del container - `CONTAINER_NAME`: nome del container nexterm
- `NEXTERM_RESTART_POLICY`: policy di riavvio - `RESTART_POLICY`: policy di riavvio (condivisa da tutti i servizi)
- `NEXTERM_PORT_HOST`: porta esposta sull'host - `PORT`: porta esposta sull'host
- `NEXTERM_PORT_CONTAINER`: porta interna del container - `DATA_DIR`: directory dati persistenti
- `NEXTERM_DATA_DIR`: directory dati persistenti - `TZ`: timezone condivisa da tutti i servizi
- `NEXTERM_TZ`: timezone del container - `ENCRYPTION_KEY`: chiave di cifratura obbligatoria per Nexterm
- `NEXTERM_ENCRYPTION_KEY`: chiave di cifratura obbligatoria per Nexterm
> `NEXTERM_ENCRYPTION_KEY` deve essere una stringa esadecimale di **64 caratteri**. > `ENCRYPTION_KEY` deve essere una stringa esadecimale di **64 caratteri**.
> Esempio rapido (PowerShell):
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 ```powershell
$bytes = New-Object byte[] 32 $bytes = New-Object byte[] 32
@@ -36,6 +44,12 @@ $bytes = New-Object byte[] 32
($bytes | ForEach-Object { $_.ToString('x2') }) -join '' ($bytes | ForEach-Object { $_.ToString('x2') }) -join ''
``` ```
Esempio rapido (Linux/macOS):
```bash
openssl rand -hex 32
```
## Avvio ## Avvio
```bash ```bash

View File

@@ -1,12 +1,27 @@
services: services:
nexterm: nexterm:
image: ${NEXTERM_IMAGE} image: ${IMAGE}
container_name: ${NEXTERM_CONTAINER_NAME} container_name: ${CONTAINER_NAME}
restart: ${NEXTERM_RESTART_POLICY} restart: ${RESTART_POLICY}
ports: ports:
- "${NEXTERM_PORT_HOST}:6989" - "${PORT}:6989"
volumes: volumes:
- ${NEXTERM_DATA_DIR}:/app/data - ${DATA_DIR}:/app/data
environment: environment:
- TZ=${NEXTERM_TZ} - TZ=${TZ}
- ENCRYPTION_KEY=${NEXTERM_ENCRYPTION_KEY} - ENCRYPTION_KEY=${ENCRYPTION_KEY}
labels:
- "com.centurylinklabs.watchtower.enable=true"
watchtower:
image: ${WATCHTOWER_IMAGE}
container_name: ${CONTAINER_NAME}_${WATCHTOWER_CONTAINER_NAME}
restart: ${RESTART_POLICY}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- TZ=${TZ}
- WATCHTOWER_CLEANUP=${WATCHTOWER_CLEANUP}
- WATCHTOWER_SCHEDULE=${WATCHTOWER_SCHEDULE}
- WATCHTOWER_LABEL_ENABLE=true
- WATCHTOWER_NOTIFICATIONS_LEVEL=${WATCHTOWER_NOTIFICATIONS_LEVEL}