{"id":20831084,"url":"https://github.com/mvdkleijn/homedash","last_synced_at":"2025-05-07T22:24:45.001Z","repository":{"id":173086935,"uuid":"650217672","full_name":"mvdkleijn/homedash","owner":"mvdkleijn","description":"HomeDash is a simplistic, centralized and dynamic dashboard application for your container based home network.","archived":false,"fork":false,"pushed_at":"2025-03-31T07:31:18.000Z","size":153,"stargazers_count":5,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-31T08:28:36.231Z","etag":null,"topics":["automation","container","dash","dashboard","docker","docker-compose","go","golang","home-automation","homelab","linux","rest-api","server"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mvdkleijn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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},"funding":{"ko_fi":"chaosmonkey","liberapay":"mvdkleijn"}},"created_at":"2023-06-06T15:39:39.000Z","updated_at":"2025-03-31T07:31:16.000Z","dependencies_parsed_at":"2024-02-19T16:59:23.509Z","dependency_job_id":"7cc61c39-32bf-4c98-9ab2-6a158dadcfd7","html_url":"https://github.com/mvdkleijn/homedash","commit_stats":null,"previous_names":["mvdkleijn/homedash"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvdkleijn%2Fhomedash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvdkleijn%2Fhomedash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvdkleijn%2Fhomedash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvdkleijn%2Fhomedash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mvdkleijn","download_url":"https://codeload.github.com/mvdkleijn/homedash/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252963256,"owners_count":21832476,"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":["automation","container","dash","dashboard","docker","docker-compose","go","golang","home-automation","homelab","linux","rest-api","server"],"created_at":"2024-11-17T23:26:53.548Z","updated_at":"2025-05-07T22:24:44.976Z","avatar_url":"https://github.com/mvdkleijn.png","language":"Go","funding_links":["https://ko-fi.com/chaosmonkey","https://liberapay.com/mvdkleijn","https://liberapay.com/mvdkleijn/","https://ko-fi.com/O4O7H6C73"],"categories":[],"sub_categories":[],"readme":"# HomeDash\n\n![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/mvdkleijn/homedash?style=for-the-badge)\n[![Codacy grade](https://img.shields.io/codacy/grade/dd407766bf6249e28daa954348d5e672?style=for-the-badge)](https://app.codacy.com/gh/mvdkleijn/homedash)\n[![Go Report Card](https://goreportcard.com/badge/github.com/mvdkleijn/homedash?style=for-the-badge)](https://goreportcard.com/report/github.com/mvdkleijn/homedash) [![Liberapay patrons](https://img.shields.io/liberapay/patrons/mvdkleijn?style=for-the-badge)](https://liberapay.com/mvdkleijn/) [![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/O4O7H6C73)\n\nHomeDash is a simplistic, centralized and dynamic dashboard application for your container based home network.\nIt provides a REST API endpoint that allows you to add applications to the dashboard.\n\nFeatures include:\n\n- Single, statically compiled binary\n- Basic UI for dashboard based on plain HTML, CSS and a sprinkling of VueJS\n- Automated, regular removal/refresh of entries older that X minutes\n- Configuration through environment variables or config.yml file\n- Possibility to add statically defined applications through config file\n- Swagger docs for REST API (see http://localhost:8080/static/docs)\n- Distroless container image\n- Multi-architecture container image\n\nKeep in mind that this is intended for local usage, so there are no provisions for authentication, etc.\n\n## Usage\n\n1) Start HomeDash by either running the container or just starting the binary;\n2) Feed your HomeDash installation using either:\n   - the [sidecar application](https://github.com/mvdkleijn/homedash-sidecar) or;\n   - the REST API, see http://localhost:8080/static/docs/ for details.\n3) Go to http://localhost:8080/ to view the dashboard. (or whatever URL you host it on)\n\nAn example docker-compose.yml file is included in the root of this git repository. The example assumes you use Traefik\nand something like https://github.com/tecnativa/docker-socket-proxy so adjust where needed for your situation.\n\n## Configuration\n\nThere are three options for configuration:\n\n1. Do nothing (see below);\n2. Use a config.yml file next to the binary;\n3. Use environment variables;\n\n### Do nothing\n\nThe defaults of HomeDash are sane, though open. (see the table)\n\n### Use config file\n\n- Copy `config.yml.example` to `config.yml`\n- Place the `config.yml` file next to the binary\n- Edit where needed.\n\nIf desired, add one or more statically define applications through the `config.yml` file. See the example file for details.\n\n**Note:** though you *can* set CORS settings it is probably not advisable to do so unless you know what you're doing.\n\n### Environment variables\n\nSimply set the environment variable to the desired value. See the table below for details.\n\nMake sure to prefix the environment variable with \"HOMEDASH_\".\n\n### Table of configuration items\n\nAll environment variables **must** be prefixed by \"HOMEDASH_\".\n\n| Environment variables | Config file             | Description                                          | Default                                              |\n| --------------------- | ----------------------- | ---------------------------------------------------- | ---------------------------------------------------- |\n| DEBUG                 | debug:                  | Output debug statements or not                       | false                                                |\n| MAXAGE                | maxage:                 | Maximum age of entries from a sidecar (minutes)      | 20                                                   |\n| CHECKINTERVAL         | cleancheckinterval:     | How often the server tries to clean (minutes)        | 1                                                    |\n| SERVER_PORT           | server: port:           | Port to listen to                                    | \"8080\"                                               |\n| SERVER_ADDRESS        | server: address:        | Address to listen on                                 | \"\" (any address)                                     |\n| ICONS_TMPDIR          | icons: tmpdir:          | Location of a tmp directory used for temporary files | \"./data/tmp\" or \"/homedash/tmp\" (when container)     |\n| ICONS_CACHEDIR        | icons: cachedir:        | Location of a cache directory used for caching files | \"./data/cache\" or \"/homedash/cache\" (when container) |\n| CORS_DEBUG            | cors: debug:            | Show debug statements regarding CORS                 | false                                                |\n| CORS_ALLOWEDHEADERS   | cors: allowedheaders:   | HTTP headers allowed by CORS                         | \"Content-Type\"                                       |\n| CORS_ALLOWEDMETHODS   | cors: allowedmethods:   | HTTP methods allowed by CORS                         | \"GET\", \"POST\", \"HEAD\"                                |\n| CORS_ALLOWEDORIGINS   | cors: allowedorigins:   | Origins of requests allowed by CORS                  | \"*\"                                                  |\n| CORS_ALLOWCREDENTIALS | cors: allowcredentials: | Allow user credentials as part of request to server  | false                                                |\n\n## Support\n\nSupported Go versions, see: https://endoflife.date/go\nSupported architectures: amd64, arm64\n\nSource code and issues: https://github.com/mvdkleijn/homedash\n\n## Licensing\n\nHomeDash is made available under the [MPL-2.0](https://choosealicense.com/licenses/mpl-2.0/)\nlicense. The full details are available from the [LICENSE](/LICENSE) file.\n\nCopyright (C) 2023-2024  Martijn van der Kleijn","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmvdkleijn%2Fhomedash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmvdkleijn%2Fhomedash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmvdkleijn%2Fhomedash/lists"}