All apps · 0 apps
Nestview
Docker app from Gurthyy's Repository
Overview
- Default port: 8484
- First run: A setup wizard will guide you through creating your admin account.
- Documentation: https://github.com/kylejschultz/nestview
- Discord: https://discord.gg/UQAZ3bJ6
Readme
View on GitHubLightweight, self-hosted Docker visibility for homelabbers.
Nestview gives you a live health dashboard with per-container CPU and memory history charts, searchable log history, and Discord alerts for all your containers - no manual configuration, no Grafana stack required. Point it at your Docker socket and it discovers everything automatically. Container metrics and logs are re-associated when containers are recreated, so your history survives updates.
Need help? Join the Discord - it's the fastest way to get support, ask questions, or report a bug. GitHub Issues is available too, but Discord is where the conversation happens.
Quick start
Prerequisites
- Docker installed and running
- Docker Compose (Optional)
- Unraid Community Apps Plugin (Optional) - if using on an Unraid server.
Installation:
Docker Compose (Recommended):
Create a docker-compose.yml with the following contents:
services:
nestview:
container_name: nestview
image: ghcr.io/kylejschultz/nestview:latest
restart: unless-stopped
ports:
- "8484:8484"
volumes:
- ./data:/data
- /var/run/docker.sock:/var/run/docker.sock
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8484/api/health')"]
interval: 15s
timeout: 5s
retries: 3
Then run:
docker compose up -d
To update, pull the latest image and restart:
docker compose pull
docker compose up -d
Docker Standalone
To run it directly without a compose file:
docker run -d \
--name nestview \
--restart unless-stopped \
-p 8484:8484 \
-v $(pwd)/data:/data \
-v /var/run/docker.sock:/var/run/docker.sock \
ghcr.io/kylejschultz/nestview:latest
Unraid Community Applications
Search for Nestview in the Unraid CA plugin. The template is pre-configured with everything you should need. All Environmental Variables are included in the template, with optional variables found by clicking Show more settings...
The Unraid support thread can be found on the Unraid forums.
Security
On first launch, you'll be prompted to create an admin username and password before the dashboard is accessible.
If you use an external auth proxy (Authelia, Authentik, nginx basic auth), you can select "No authentication" during setup to avoid double-authenticating. Only use this option if Nestview is not directly accessible from outside your network.
If you forget your password, add RESET_ADMIN_PASSWORD=true to your .env file and restart the container. You'll be taken back through the setup wizard. Remove the variable and restart again once you've set a new password.
If you need to access Nestview remotely, put it behind a VPN (Tailscale, WireGuard) rather than port-forwarding directly. Do not expose port 8484 to the internet.
Environment variables
The below envs are optional and most can be configured in the UI - only set if needed.
- Docker Users: Copy
.env.exampleto.env- Unraid Users: These are hidden by default. Click Show more settings... to unhide and set as needed.
| Variable | Default | Description |
|---|---|---|
POLL_INTERVAL |
10 |
Seconds between Docker stats polls |
LOG_BATCH_INTERVAL |
5 |
Seconds between log flushes to SQLite |
SECRET_KEY |
(auto-generated) | Session cookie signing key. Leave blank - Nestview generates and persists one automatically. Set explicitly for scripted deployments that need stable sessions across data resets. |
RESET_ADMIN_PASSWORD |
(unset) | Set to true to clear stored credentials and re-trigger the setup wizard on next start. Remove after completing setup. |
NESTVIEW_SECURE_COOKIES |
false |
Set to true when Nestview is behind a TLS-terminating reverse proxy (Nginx, Caddy, Traefik). Marks session cookies as Secure so they are only sent over HTTPS. |
NESTVIEW_ALLOWED_ORIGINS |
(unset) | Comma-separated list of allowed CORS origins (e.g. https://nestview.example.com). When unset, the default wildcard * is used — safe for local/homelab deployments. Set this when exposing Nestview through a reverse proxy and you want to restrict cross-origin requests to known hosts. |
DATABASE_PATH |
/data/nestview.db |
Path inside the container where Nestview stores its SQLite database. Override only if you need a non-standard mount path. |
TZ |
UTC |
Timezone for log timestamps and scheduled tasks. Use a standard tz database name (e.g. America/Chicago, Europe/London). |
LOG_RETENTION_DAYS |
7 |
How many days of container log history to keep. Seeded from this env var on first run only; changes after initial setup must be made in the Settings UI. |
Log retention is configured in the Settings UI.
Discord alerts
- In your Discord server, Create a new channel for notifications.
- Select the channel and go to Edit Channel > Integrations > Create Webhook
- Copy the webhook URL
- Open Nestview and paste the URL into the setup wizard (shown on first launch) or Settings > General
Nestview sends a formatted embed when a container crashes (non-zero exit), is OOM-killed, or restarts unexpectedly.
Telemetry
Nestview includes optional, anonymous telemetry that helps track active installs and guide development priorities. It is off by default and can be enabled from Settings > General.
When enabled, a single ping is sent once per day containing:
- A randomly generated install ID (not tied to any user, container, or host data)
- Nestview version
- Architecture (amd64 or arm64)
- Operating system
- Container count
- Release channel
- Timestamp
No personal data, container names, image names, or host information is collected or transmitted.
License
GNU General Public License v3.0 - free to use, modify, and self-host. If you distribute modified versions, you must release them under the same license.
Community & support
Discord is the best place to get help. Join at discord.gg/aDEBQq3XtN - bug reports, questions, and general chat all happen there.
GitHub Issues is available for bugs and feature requests, but Discord is faster and more conversational. Please search existing issues before opening a new one.
GitHub Sponsors / Ko-fi - if Nestview saves you time, a coffee is always appreciated.
Install Nestview on Unraid in a few clicks.
Find Nestview in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/kylejschultz/nestview:latestRuntime arguments
- Web UI
http://[IP]:[PORT:8484]- Network
bridge- Privileged
- false
Template configuration
Port to access the Nestview web interface.
- Target
- 8484
- Default
- 8484
- Value
- 8484
Persistent storage for the Nestview database (SQLite) and configuration.
- Target
- /data
- Default
- /mnt/user/appdata/nestview
- Value
- /mnt/user/appdata/nestview
Access to the Docker socket. Required for container autodiscovery, monitoring, and container restart functionality.
- Target
- /var/run/docker.sock
- Default
- /var/run/docker.sock
- Value
- /var/run/docker.sock
How often Nestview polls Docker for container stats. Leave blank to use the default (10 seconds).
- Target
- POLL_INTERVAL
How many days of container log history to keep. Leave blank to use the default (7 days). This value is only read on first run - set it before starting Nestview for the first time if you want a non-default value. Changes after initial setup must be made in the Nestview Settings UI.
- Target
- LOG_RETENTION_DAYS
Timezone for log timestamps and scheduled tasks. Leave blank for UTC. Use a standard tz database name, e.g. America/Chicago or Europe/London.
- Target
- TZ
Set to true if Nestview is behind a TLS-terminating reverse proxy (Nginx, Caddy, Traefik). Leave blank otherwise.
- Target
- NESTVIEW_SECURE_COOKIES
Set to true to clear stored credentials and re-trigger the setup wizard on next start. Remove this value and restart the container again after completing setup.
- Target
- RESET_ADMIN_PASSWORD