Primi passi

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-stopped

Salvate 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 nasdash

Apri 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 down

Non 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.

Synology · Compose user