{"id":13475035,"url":"https://github.com/bastienwirtz/homer","last_synced_at":"2025-05-13T00:09:51.037Z","repository":{"id":37502306,"uuid":"137308006","full_name":"bastienwirtz/homer","owner":"bastienwirtz","description":"A very simple static homepage for your server.","archived":false,"fork":false,"pushed_at":"2025-05-05T09:51:25.000Z","size":5077,"stargazers_count":10111,"open_issues_count":153,"forks_count":846,"subscribers_count":58,"default_branch":"main","last_synced_at":"2025-05-13T00:09:39.000Z","etag":null,"topics":["dashboard","hacktoberfest","homepage","self-hosted","toolbox","vuejs"],"latest_commit_sha":null,"homepage":"https://homer-demo.netlify.app/","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bastienwirtz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null},"funding":{"custom":["https://www.buymeacoffee.com/bastien"]}},"created_at":"2018-06-14T04:57:54.000Z","updated_at":"2025-05-12T21:27:11.000Z","dependencies_parsed_at":"2024-01-03T06:05:11.667Z","dependency_job_id":"fc9e2378-67dd-46fe-a3b4-01fdb2459fdc","html_url":"https://github.com/bastienwirtz/homer","commit_stats":null,"previous_names":[],"tags_count":63,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bastienwirtz%2Fhomer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bastienwirtz%2Fhomer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bastienwirtz%2Fhomer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bastienwirtz%2Fhomer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bastienwirtz","download_url":"https://codeload.github.com/bastienwirtz/homer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253843215,"owners_count":21972873,"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","hacktoberfest","homepage","self-hosted","toolbox","vuejs"],"created_at":"2024-07-31T16:01:16.878Z","updated_at":"2025-05-13T00:09:51.011Z","avatar_url":"https://github.com/bastienwirtz.png","language":"Vue","funding_links":["https://www.buymeacoffee.com/bastien"],"categories":["Vue","Software","Apps","Alternatives 🙌","Miscellaneous","置顶","Table of Contents","Personal Dashboards","Bonus #4 - Self-Hosted Sysadmin","Dashboards"],"sub_categories":["Personal Dashboards","Dashboard","Deploy to the Cloud ☁️","1、AI应用生态","Video Streaming","Notable Mentions"],"readme":"\u003ch1 align=\"center\"\u003e\n \u003cimg\n  width=\"180\"\n  alt=\"Homer's donut\"\n  src=\"https://raw.githubusercontent.com//bastienwirtz/homer/main/public/logo.png\"\u003e\n    \u003cbr/\u003e\n    Homer\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003e\n A dead simple static \u003cstrong\u003eHOM\u003c/strong\u003eepage for your serv\u003cstrong\u003eER\u003c/strong\u003e to keep your services on hand, from a simple \u003ccode\u003eyaml\u003c/code\u003e configuration file.\n\u003c/h4\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.buymeacoffee.com/bastien\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/default-yellow.png\" alt=\"Buy Me A Coffee\" height=\"41\" width=\"174\"\u003e\u003c/a\u003e\n\u003cp\u003e\n\u003cp align=\"center\"\u003e\n \u003ca href=\"https://opensource.org/licenses/Apache-2.0\"\u003e\u003cimg\n  alt=\"License: Apache 2\"\n  src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip\"\u003e\u003cimg\n  alt=\"Download homer static build\"\n  src=\"https://img.shields.io/badge/Download-homer.zip-orange\"\u003e\u003c/a\u003e\n \u003ca href=\"https://twitter.com/acdlite/status/974390255393505280\"\u003e\u003cimg\n  alt=\"speed-blazing\"\n  src=\"https://img.shields.io/badge/speed-blazing%20%F0%9F%94%A5-red\"\u003e\u003c/a\u003e\n \u003ca href=\"https://github.com/awesome-selfhosted/awesome-selfhosted\"\u003e\u003cimg\n  alt=\"Awesome\"\n  src=\"https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n \u003cstrong\u003e\n  \u003ca href=\"https://homer-demo.netlify.app\"\u003eDemo\u003c/a\u003e\n  •\n  \u003ca href=\"https://hub.docker.com/r/b4bz/homer\"\u003eDocker Hub\u003c/a\u003e\n  •\n  \u003ca href=\"#get-started\"\u003eGet started\u003c/a\u003e\n \u003c/strong\u003e\n\u003c/p\u003e\n\n## Highlights\n\n- ⚡️ Lightweight \u0026 Fast\n- 🥱 Low / No maintenance\n- 📄 Simple [yaml](http://yaml.org/) file configuration\n- ➕ Installable (pwa)\n- 🧠 Smart cards\n- 🔍️ Fuzzy search\n- 📂 Multi pages \u0026 item grouping\n- 🎨 Theme customization\n- ⌨️ keyboard shortcuts:\n  - \u003ckbd\u003e/\u003c/kbd\u003e Start searching.\n  - \u003ckbd\u003eEscape\u003c/kbd\u003e Stop searching.\n  - \u003ckbd\u003eEnter\u003c/kbd\u003e Open the first matching result (respects the bookmark's `_target` property).\n  - \u003ckbd\u003eAlt\u003c/kbd\u003e (or \u003ckbd\u003eOption\u003c/kbd\u003e) + \u003ckbd\u003eEnter\u003c/kbd\u003e Open the first matching result in a new tab.\n\n## Table of Contents\n\n- [Getting started](#get-started)\n- [Kubernetes Installation](docs/kubernetes.md)\n- [Configuration](docs/configuration.md)\n- [Theming](docs/theming.md)\n- [Smart cards](docs/customservices.md)\n- [Tips \u0026 tricks](docs/tips-and-tricks.md)\n- [Development](docs/development.md)\n- [Troubleshooting](docs/troubleshooting.md)\n\n## Get started\n\nHomer is a full static html/js dashboard, based on a simple yaml configuration file. See [documentation](docs/configuration.md) for information about the configuration (`assets/config.yml`) options.\n\nIt's meant to be served by an HTTP server, **it will not work if you open the index.html directly over file:// protocol**.\n\n### Using docker\n\nThe configuration directory is bind mounted to make your dashboard easy to maintain.\n\n**Start the container with `docker run`**\n\n```sh\n# Make sure your local config directory exists\ndocker run -d \\\n  --name homer \\\n  -p 8080:8080 \\\n  --mount type=bind,source=\"/path/to/config/dir\",target=/www/assets \\\n  --restart=unless-stopped \\\n  b4bz/homer:latest\n```\n\n\u003e [!NOTE]  \n\u003e The container will run using a user uid and gid 1000 by default, add `--user \u003cyour-UID\u003e:\u003cyour-GID\u003e` to the docker command to adjust it if necessary. Make sure this match the permissions of your assets directory.\n\n**or `docker-compose`**\n\n```yaml\nservices:\n  homer:\n    image: b4bz/homer\n    container_name: homer\n    volumes:\n      - /path/to/config/dir:/www/assets # Make sure your local config directory exists\n    ports:\n      - 8080:8080\n    user: 1000:1000 # default\n    environment:\n      - INIT_ASSETS=1 # default, requires the config directory to be writable for the container user (see user option)\n    restart: unless-stopped\n```\n\n**Environment variables:**\n\n- **`INIT_ASSETS`** (default: `1`)\nInstall example configuration file \u0026 assets (favicons, ...) to help you get started.\n\n- **`SUBFOLDER`** (default: `null`)\nIf you would like to host Homer in a subfolder, (ex: *\u003chttp://my-domain/homer\u003e*), set this to the subfolder path (ex `/homer`).\n\n- **`PORT`** (default: `8080`)\nIf you would like to change internal port of Homer from default `8080` to your port choice.\n\n- **`IPV6_DISABLE`** (default: 0)\nSet to `1` to disable listening on IPv6.\n\n### Using the release tarball (prebuilt, ready to use)\n\nDownload and extract the latest release (`homer.zip`) from the [release page](https://github.com/bastienwirtz/homer/releases), rename the `assets/config.yml.dist` file to `assets/config.yml`, and put it behind a web server.\n\n```sh\nwget https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip\nunzip homer.zip -d homer\ncd homer\ncp assets/config.yml.dist assets/config.yml\npnpx http-server # or python -m http.server 8010 or any web server.\n```\n\n### Build manually\n\n```sh\npnpm install\npnpm build\n```\n\nThen your dashboard is ready to use in the `/dist` directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbastienwirtz%2Fhomer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbastienwirtz%2Fhomer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbastienwirtz%2Fhomer/lists"}