Sign inSign up

raphaeljaeger/linux-update-dashboard

By raphaeljaeger

•Updated 1 day ago

Image
0

464

raphaeljaeger/linux-update-dashboard repository overview

⁠Linux Update Dashboard

A self-hosted dashboard for managing and monitoring Linux system updates.

⁠Docker Image

raphaeljaeger/linux-update-dashboard⁠

docker pull raphaeljaeger/linux-update-dashboard:latest

⁠Features

  • Web-based dashboard
  • Persistent application data
  • Configurable base URL
  • Timezone configuration
  • Optional demo mode
  • Optional encryption key for stored credentials
  • Reverse proxy support

⁠Quick Start

⁠Using Docker Compose

Create a compose.yaml file:

services:
  dashboard:
    image: raphaeljaeger/linux-update-dashboard:latest
    container_name: linux-update-dashboard
    restart: unless-stopped
    ports:
      - "3001:3001"
    volumes:
      - dashboard_data:/data
    environment:
      LUDASH_BASE_URL: "http://localhost:8081"
      TZ: "Europe/Berlin"

volumes:
  dashboard_data:

Start the dashboard:

docker compose up -d

Open the dashboard:

http://localhost:8081⁠

⁠Useful Commands

View logs:

docker compose logs -f dashboard

Stop the dashboard:

docker compose down

Check container status:

docker compose ps

⁠Configuration

VariableDescriptionExample
LUDASH_BASE_URLBase URL used to access the dashboardhttp://localhost:8081
TZContainer timezoneEurope/Berlin
LUDASH_DEMO_MODEEnables demo mode with simulated systemstrue
LUDASH_ENCRYPTION_KEYOptional custom encryption key for stored credentials${LUDASH_ENCRYPTION_KEY}
LUDASH_TRUST_PROXYEnables trusted reverse-proxy handlingtrue

⁠Demo Mode

Demo mode is enabled in the example configuration:

LUDASH_DEMO_MODE: "true"

Demo mode provides simulated systems, automatic login, and a demo banner.

For normal operation, disable demo mode:

LUDASH_DEMO_MODE: "false"

Alternatively, remove the environment variable entirely.

⁠Persistent Storage

The dashboard stores persistent application data in /data.

volumes:
  - dashboard_data:/data

The named Docker volume preserves application data when the container is recreated or updated.

⁠Encryption Key

If no custom encryption key is configured, the application generates one at:

/data/.encryption_key

Important: Back up the /data volume, including the encryption key. Losing the key may make previously encrypted credentials unrecoverable.

To configure a custom encryption key:

environment:
  LUDASH_ENCRYPTION_KEY: "${LUDASH_ENCRYPTION_KEY}"

Set LUDASH_ENCRYPTION_KEY in your environment or .env file. Keep the key secure and consistent across restarts and migrations.

Do not replace an existing encryption key without understanding the consequences for previously encrypted data.

⁠Reverse Proxy Configuration

The dashboard can run behind a reverse proxy such as Nginx Proxy Manager, Traefik, or Nginx.

Example configuration:

environment:
  LUDASH_BASE_URL: "https://dashboard.example.com"
  LUDASH_TRUST_PROXY: "true"
  TZ: "Europe/Berlin"

Replace dashboard.example.com with your actual domain and configure HTTPS on your reverse proxy.

Only enable LUDASH_TRUST_PROXY when the application is behind a trusted, correctly configured proxy.

⁠Updating

Pull the latest image and recreate the container:

docker compose pull
docker compose up -d

Persistent data remains in the named Docker volume.

⁠Troubleshooting

⁠Check Container Status
docker compose ps
⁠View Logs
docker compose logs --tail=100 dashboard
⁠Recreate the Container
docker compose up -d --force-recreate
⁠List Docker Volumes
docker volume ls

Avoid deleting the dashboard_data volume unless you intend to remove the stored application data.

Tag summary

Content type

Image

Digest

sha256:d1da49950…

Size

10.2 MB

Last updated

1 day ago

docker pull raphaeljaeger/linux-update-dashboard