Installazione con Docker
Esegui il deployment di NasDash sulla sua porta coerente 2504 con dati persistenti e il proxy Docker.
NasDash usa la porta 2504 sull'host Docker e 2504 all'interno del container. Il file Compose pronto per la copia memorizza i dati in ./data. Non sostituire quella cartella con un volume con nome su un'installazione esistente.
Docker Compose pronto per la copia
services:
nasdash:
image: ghcr.io/lucas-lepajollec/nasdash:latest
ports:
- "2504:2504"
env_file:
- path: .env
required: false
volumes:
- ./data:/app/data
pid: host
depends_on:
- docker-proxy
extra_hosts:
- "host.docker.internal:host-gateway"
restart: unless-stopped
docker-proxy:
image: tecnativa/docker-socket-proxy:v0.5.0
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
CONTAINERS: 1
IMAGES: 1
VOLUMES: 1
NETWORKS: 1
INFO: 1
POST: 1
DELETE: 0
restart: unless-stoppedSalvate come docker-compose.yml e preparate accesso ai dati prima dell’avvio. I comandi seguenti valgono solo per nuova cartella Linux vuota e UID:GID predefinito. Per dati esistenti, utente personalizzato o ACL Synology, seguite prima la sezione permessi.
mkdir -p ./data
sudo chown 1001:1001 ./data
sudo chmod 700 ./data
docker compose pull
docker compose up -d --force-recreate
docker compose ps
docker compose logs nasdashApri http://<server-ip>:2504 dalla LAN, oppure http://localhost:2504 sull'host Docker. Configura la connessione Docker locale come docker-proxy:2375.
Il proxy non è pubblicato sull'host Docker. Concede l'accesso solo alle famiglie di API Docker elencate; DELETE=0 mantiene disabilitate le eliminazioni. pid: host viene mantenuto perché la telemetria dell'host fa parte di NasDash e host.docker.internal consente a NasDash di raggiungere i servizi in esecuzione direttamente sull'host.
Al primo avvio, NasDash genera password robuste e chiavi crittografiche stabili, le rende persistenti con i suoi dati e stampa le password iniziali una sola volta nei log. Il file opzionale .env serve solo per sovrascritture avanzate esplicite; la sua assenza non blocca l'avvio.
Installazione esistente con volume con nome
Mantieni nasdash-data:/app/data solo se l'istanza utilizza già quel volume con nome. Non passare da un tipo di archiviazione all'altro durante un aggiornamento di routine dell'immagine.
Arresto senza eliminare i dati
docker compose stop
docker compose downNon aggiungere -v durante un arresto normale. Vedi Docker e proxy e Aggiornamenti.
Synology e permessi della cartella dei dati
L’immagine viene eseguita con UID:GID 1001:1001. Prima del primo avvio, create la cartella dei dati sull’host e concedete a questa identità l’accesso in lettura/scrittura. Su Synology, usate un account DSM dedicato con ACL di lettura/scrittura su questa cartella. Eseguite id nasdash-user tramite SSH (sostituite il nome di esempio), poi aggiungete la sua identità numerica solo al servizio NasDash. Questo frammento usa valori di esempio, non valori universali per i NAS:
services:
nasdash:
user: "1026:100"Mantenete il file Compose completo e il montaggio dei dati esistente. Create la cartella prima dell’avvio; controllate anche le ACL ereditate, l’accesso alle cartelle superiori, i file esistenti e logos. Le variabili PUID/PGID non sono supportate. Modificare user non trasferisce la proprietà. Non usate root, chmod 777 o la cancellazione dei dati per correggere l’accesso. Ricompilare l’immagine non ripara i permessi dell’host. Se una vecchia versione di Compose rifiuta env_file.required, rimuovete tutto il blocco facoltativo senza .env, oppure usate env_file: .env con il file esistente.
Su Linux, preparate una nuova cartella ./data vuota con mkdir -p ./data, sudo chown 1001:1001 ./data e sudo chmod 700 ./data. Eseguite un backup e arrestate le installazioni esistenti prima di modificare l’accesso; conservate il loro montaggio dei dati.
Le immagini dalla versione 0.2.2 in poi verificano l’accesso prima dell’avvio e indicano l’UID:GID effettivo se dati, loghi o file esistenti sono inaccessibili. Correggete i permessi e ricreate il contenitore. I test UID/GID su Docker Linux non sostituiscono una verifica su un DSM reale.