{"id":27852024,"url":"https://github.com/AnthonyGress/lab-dash","last_synced_at":"2025-05-04T03:01:58.037Z","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-05-01T00:25:01.000Z","size":10335,"stargazers_count":126,"open_issues_count":23,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-05-01T01:28:47.222Z","etag":null,"topics":["application-dashboard","dashboard","docker","docker-compose","homelab","homepage","jellyfin","metrics","nodejs","plex","radarr","react","rest-api","self-hosted","server","sonarr","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","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","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["Anthonygress"],"buy_me_a_coffee":"anthonygress"}},"created_at":"2025-02-14T20:59:51.000Z","updated_at":"2025-04-30T14:49:05.000Z","dependencies_parsed_at":"2025-03-05T01:26:41.350Z","dependency_job_id":"f9cb8180-f1aa-4241-9696-e0d2c3c72fd1","html_url":"https://github.com/AnthonyGress/lab-dash","commit_stats":null,"previous_names":["anthonygress/lab-dash"],"tags_count":30,"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":252280890,"owners_count":21723055,"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":["application-dashboard","dashboard","docker","docker-compose","homelab","homepage","jellyfin","metrics","nodejs","plex","radarr","react","rest-api","self-hosted","server","sonarr","typescript"],"created_at":"2025-05-04T03:01:56.727Z","updated_at":"2025-05-04T03:01:58.020Z","avatar_url":"https://github.com/AnthonyGress.png","language":"TypeScript","funding_links":["https://github.com/sponsors/Anthonygress","https://buymeacoffee.com/anthonygress"],"categories":["typescript","TypeScript"],"sub_categories":[],"readme":"# Lab Dash\nThis is an open-source user interface designed to be your internally/externally hosted homepage for your homelab/server. \n\n\u003cimg width=\"1511\" alt=\"Screenshot 2025-03-23 at 11 48 56 PM\" src=\"https://github.com/user-attachments/assets/449c8744-58ca-46f2-bbf0-7eb953ede4da\" /\u003e\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://docs.anchormydata.com/docs/what-is-aes-256-cbc)\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\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      labels:\n        - \"com.centurylinklabs.watchtower.enable=true\"\n\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# 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"}