Docker installation
Deploy NasDash on its consistent port 2504 with persistent data and the Docker proxy.
NasDash uses port 2504 on the Docker host and 2504 inside the container. The copy-ready Compose file stores data in ./data. Do not replace that folder with a named volume on an existing installation.
Copy-ready Docker Compose
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-stoppedSave this as docker-compose.yml, then run:
docker compose pull
docker compose up -d --force-recreate
docker compose ps
docker compose logs nasdashOpen http://<server-ip>:2504 from the LAN, or http://localhost:2504 on the Docker host. Configure the local Docker connection as docker-proxy:2375.
The proxy is not published on the Docker host. It grants only the listed Docker API families; DELETE=0 keeps deletions disabled. pid: host is retained because host telemetry is part of NasDash, and host.docker.internal lets NasDash reach services running directly on the host.
On first start, NasDash generates strong passwords and stable cryptographic keys, persists them with its data, and prints the initial passwords once in the logs. The optional .env is only for explicit advanced overrides; its absence does not block startup.
Existing named-volume installation
Keep nasdash-data:/app/data only if the instance already uses that named volume. Do not switch storage types during a routine image update.
Stop without deleting data
docker compose stop
docker compose downDo not add -v during a normal stop. See Docker and proxy and Updates.