{"id":25545167,"url":"https://github.com/anthonygress/lab-dash","last_synced_at":"2026-02-13T04:54:20.597Z","repository":{"id":277934914,"uuid":"932959478","full_name":"AnthonyGress/lab-dash","owner":"AnthonyGress","description":"An open-source user interface designed to manage your server/homelab applications and services.","archived":false,"fork":false,"pushed_at":"2025-02-17T04:13:34.000Z","size":1372,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-17T04:28:29.762Z","etag":null,"topics":["dashboard","docker","docker-compose","homelab","metrics","nodejs","react","server","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AnthonyGress.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-14T20:59:51.000Z","updated_at":"2025-02-17T04:13:37.000Z","dependencies_parsed_at":"2025-02-17T04:38:47.811Z","dependency_job_id":null,"html_url":"https://github.com/AnthonyGress/lab-dash","commit_stats":null,"previous_names":["anthonygress/lab-dash"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnthonyGress%2Flab-dash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnthonyGress%2Flab-dash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnthonyGress%2Flab-dash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnthonyGress%2Flab-dash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AnthonyGress","download_url":"https://codeload.github.com/AnthonyGress/lab-dash/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239800429,"owners_count":19699128,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dashboard","docker","docker-compose","homelab","metrics","nodejs","react","server","typescript"],"created_at":"2025-02-20T08:18:07.008Z","updated_at":"2026-01-06T02:11:08.225Z","avatar_url":"https://github.com/AnthonyGress.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lab Dash\nThis is an open-source user interface designed to be your internally hosted homepage for your homelab/server. \n\n\u003cimg width=\"1912\" alt=\"Screenshot 2025-05-08 at 8 58 34 PM\" src=\"https://github.com/user-attachments/assets/55ae6a22-33e3-40ab-b1e2-a8deeaa5239b\" /\u003e\n\n\n# Features\nLab Dash features a customizable grid layout where you can add various widgets:\n- Shortcuts to your tools/services\n- System information\n- Service health checks\n- Custom widgets and more\n\n### Customization\nYou can easily customize your dashboard by:\n- Dragging and reordering\n- Changing the background image\n- Adding custom search providers\n- Custom title and tab name\n\n### Privacy \u0026 Data Control\nYou have complete control over your data and dashboard configuration.\n- All data is stored \u0026 used on your own device\n- Sensitive data is encrypted locally using [AES-256-CBC](https://www.kiteworks.com/risk-compliance-glossary/aes-256-encryption/)\n- Only administrator accounts can make changes\n- Configurations can be easily backed up and restored\n\n# Installation\nThis only requires docker to be installed. [Install Docker](https://docs.docker.com/engine/install/). Run using `docker compose`\n```yaml\n---\nservices:\n  lab-dash:\n      container_name: lab-dash\n      image: ghcr.io/anthonygress/lab-dash:latest\n      privileged: true\n      #network_mode: host # for monitoring network usage stats. run `sudo ufw allow 2022/tcp` on ubuntu to allow access through firewall\n      ports:\n        - 2022:2022\n      environment:\n        - SECRET=YOUR_SECRET_KEY # any random string for used for encryption.\n        # You can run `openssl rand -base64 32` to generate a key\n      volumes:\n        - /sys:/sys:ro\n        - /docker/lab-dash/config:/config\n        - /docker/lab-dash/uploads:/app/public/uploads\n        - /var/run/docker.sock:/var/run/docker.sock\n      restart: unless-stopped\n```\n\n# Usage\nLab Dash can aslo be accessed from any web browser via \n- `http://localhost:2022` on the device running the container\n- `192.168.x.x:2022` on local network  \n- `www.your-homepage.com` using your custom domain name\n\nLab Dash can also be installed as an app on your computer/phone as a PWA (Progressive Web App):\n- Using Google Chrome on Mac/Windows/Android/Linux\n- Using Safari on iOS/iPad OS via the share menu \u003e add to homscreen\n  \n\u003cimg width=\"391\" alt=\"Screenshot 2025-03-24 at 12 13 07 AM\" src=\"https://github.com/user-attachments/assets/2b6ec3b4-5cda-4cd0-b8aa-70185477b633\" /\u003e  \n\n\n\u003e [!IMPORTANT]  \n\u003e You should assign a static IP address for you server so any LAN/WAN device can access the Lab Dash instance.\n\nSimply copy/download the [docker-compose.yml](docker-compose.yml) or add it to an existing docker-compose file.\n\n\n## Running Docker compose file\n\n```bash\ndocker compose up -d\n```\n\nThis docker container will restart automatically after reboots unless it was manually stopped. This is designed to be run on your hosting server.\n\n## Stopping this docker container\n1. Navigate to the directory that this docker compose file is in\n2. Run: `docker compose down`\n\n# Local Development\n```\nnpm install\nnpm run dev\n```\n\n# Updating\n### Portainer\n- Navigate to stacks\n- Click on the `lab-dash` stack\n- Click Editor tab at the top\n- Click Update the stack\n- Enable Re-pull image and redploy toggle\n- Click Update\n\n### Docker CLI:\n- `cd /directory_of_compose_yaml`\n- `docker compose down`\n- `docker compose pull`\n- `docker compose up -d`\n\n# Contributing\nContributions to Lab Dash are welcome! Please follow these guidelines:\n\n- **One feature per PR** - Keep pull requests focused on a single feature or fix\n- **Review AI-generated code** - If using AI tools, all code must be thoroughly reviewed and tested before submitting\n- **Maintain consistency** - New code must align with the app's existing style, theme, and overall user experience\n\n# Disclaimer\nThis code is provided for informational and educational purposes only. I am not associated with any of the services/applications mentioned in this project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthonygress%2Flab-dash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanthonygress%2Flab-dash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthonygress%2Flab-dash/lists"}