All apps · 0 apps
Lab-Dash
Docker app from grtgbln's Repository
Overview
Readme
View on GitHubLab Dash
This is an open-source user interface designed to be your internally hosted homepage for your homelab/server.
Features
Lab Dash features a customizable grid layout where you can add various widgets:
- Shortcuts to your tools/services
- System information
- Service health checks
- Custom widgets and more
Customization
You can easily customize your dashboard by:
- Dragging and reordering
- Changing the background image
- Adding custom search providers
- Custom title and tab name
Privacy & Data Control
You have complete control over your data and dashboard configuration.
- All data is stored & used on your own device
- Sensitive data is encrypted locally using AES-256-CBC
- Only administrator accounts can make changes
- Configurations can be easily backed up and restored
Installation
This only requires docker to be installed. Install Docker. Run using docker compose
---
services:
lab-dash:
container_name: lab-dash
image: ghcr.io/anthonygress/lab-dash:latest
privileged: true
#network_mode: host # for monitoring network usage stats. run `sudo ufw allow 2022/tcp` on ubuntu to allow access through firewall
ports:
- 2022:2022
environment:
- SECRET=YOUR_SECRET_KEY # any random string for used for encryption.
# You can run `openssl rand -base64 32` to generate a key
volumes:
- /sys:/sys:ro
- /docker/lab-dash/config:/config
- /docker/lab-dash/uploads:/app/public/uploads
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
Usage
Lab Dash can aslo be accessed from any web browser via
http://localhost:2022on the device running the container192.168.x.x:2022on local networkwww.your-homepage.comusing your custom domain name
Lab Dash can also be installed as an app on your computer/phone as a PWA (Progressive Web App):
- Using Google Chrome on Mac/Windows/Android/Linux
- Using Safari on iOS/iPad OS via the share menu > add to homscreen
[!IMPORTANT]
You should assign a static IP address for you server so any LAN/WAN device can access the Lab Dash instance.
Simply copy/download the docker-compose.yml or add it to an existing docker-compose file.
Running Docker compose file
docker compose up -d
This docker container will restart automatically after reboots unless it was manually stopped. This is designed to be run on your hosting server.
Stopping this docker container
- Navigate to the directory that this docker compose file is in
- Run:
docker compose down
Local Development
npm install
npm run dev
Updating
Portainer
- Navigate to stacks
- Click on the
lab-dashstack - Click Editor tab at the top
- Click Update the stack
- Enable Re-pull image and redploy toggle
- Click Update
Docker CLI:
cd /directory_of_compose_yamldocker compose downdocker compose pulldocker compose up -d
Contributing
Contributions to Lab Dash are welcome! Please follow these guidelines:
- One feature per PR - Keep pull requests focused on a single feature or fix
- Review AI-generated code - If using AI tools, all code must be thoroughly reviewed and tested before submitting
- Maintain consistency - New code must align with the app's existing style, theme, and overall user experience
Disclaimer
This code is provided for informational and educational purposes only. I am not associated with any of the services/applications mentioned in this project.
Requirements
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/anthonygress/lab-dash:latestRuntime arguments
- Web UI
http://[IP]:[PORT:2022]/- Network
bridge- Privileged
- false
Template configuration
Container Port: 2022
- Target
- 2022
- Default
- 2022
- Value
- 2022
Generate with 'openssl rand -base64 32'
- Target
- SECRET
Path to the config folder
- Target
- /config
- Default
- /mnt/user/appdata/lab-dash/config
- Value
- /mnt/user/appdata/lab-dash/config
Path to the uploads folder
- Target
- /app/public/uploads
- Default
- /mnt/user/appdata/lab-dash/uploads
- Value
- /mnt/user/appdata/lab-dash/uploads
Path to the system folder
- Target
- /sys
- Default
- /sys
- Value
- /sys
Path to the Docker socket
- Target
- /var/run/docker.sock
- Default
- /var/run/docker.sock
- Value
- /var/run/docker.sock
User ID (Unraid: 99 = nobody)
- Default
- 99
- Value
- 99
Group ID (Unraid: 100 = users)
- Default
- 100
- Value
- 100