++ 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
NEXTERM_IMAGE=germannewsmaker/nexterm:latest
IMAGE=germannewsmaker/nexterm:latest
# Nome del container
NEXTERM_CONTAINER_NAME=nexterm
CONTAINER_NAME=nexterm
# Politica di riavvio (no | always | unless-stopped | on-failure)
NEXTERM_RESTART_POLICY=unless-stopped
RESTART_POLICY=unless-stopped
# Porte host/container
NEXTERM_PORT_HOST=8080
# Porta esposta sull'host
PORT=8080
# Percorso dati persistenti sul filesystem locale
NEXTERM_DATA_DIR=./nexterm_data
DATA_DIR=./nexterm_data
# Timezone del container
NEXTERM_TZ=Europe/Rome
# Timezone (condivisa da tutti i servizi)
TZ=Europe/Rome
# Chiave di cifratura usata da Nexterm (obbligatoria)
# 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:
- `NEXTERM_IMAGE`: immagine Docker da usare
- `NEXTERM_CONTAINER_NAME`: nome del container
- `NEXTERM_RESTART_POLICY`: policy di riavvio
- `NEXTERM_PORT_HOST`: porta esposta sull'host
- `NEXTERM_PORT_CONTAINER`: porta interna del container
- `NEXTERM_DATA_DIR`: directory dati persistenti
- `NEXTERM_TZ`: timezone del container
- `NEXTERM_ENCRYPTION_KEY`: chiave di cifratura obbligatoria per Nexterm
- `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
> `NEXTERM_ENCRYPTION_KEY` deve essere una stringa esadecimale di **64 caratteri**.
> Esempio rapido (PowerShell):
> `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
@@ -36,6 +44,12 @@ $bytes = New-Object byte[] 32
($bytes | ForEach-Object { $_.ToString('x2') }) -join ''
```
Esempio rapido (Linux/macOS):
```bash
openssl rand -hex 32
```
## Avvio
```bash

View File

@@ -1,12 +1,27 @@
services:
nexterm:
image: ${NEXTERM_IMAGE}
container_name: ${NEXTERM_CONTAINER_NAME}
restart: ${NEXTERM_RESTART_POLICY}
image: ${IMAGE}
container_name: ${CONTAINER_NAME}
restart: ${RESTART_POLICY}
ports:
- "${NEXTERM_PORT_HOST}:6989"
- "${PORT}:6989"
volumes:
- ${NEXTERM_DATA_DIR}:/app/data
- ${DATA_DIR}:/app/data
environment:
- TZ=${NEXTERM_TZ}
- ENCRYPTION_KEY=${NEXTERM_ENCRYPTION_KEY}
- TZ=${TZ}
- 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}