A very simple static homepage for your server.
Go to file
2022-04-29 14:51:39 -04:00
.github Tweaked docs workflow according to official docs 2022-04-28 09:36:36 -04:00
docs Added Tautulli service to ToC 2022-04-29 14:51:39 -04:00
hooks Adding support for release build. 2020-07-12 20:12:53 -07:00
public FA note chages for new users (#404) 2022-03-19 19:34:16 -04:00
src Revert "Added url and apikey config options under proxy" 2022-04-27 19:15:18 -04:00
.browserslistrc Build system integration using vue-cli. 2020-05-25 15:07:03 -07:00
.dockerignore Regroup all editable files in one place 2020-06-28 11:05:40 -07:00
.eslintrc.js Build system integration using vue-cli. 2020-05-25 15:07:03 -07:00
.gitignore Initial draft of new docs UI usuing MkDocs 2022-03-20 20:19:49 -04:00
babel.config.js Build system integration using vue-cli. 2020-05-25 15:07:03 -07:00
CODE_OF_CONDUCT.md Adding contribution guidelines 2020-03-22 17:44:02 -07:00
CONTRIBUTING.md Extendable base service for easier development. 2021-10-06 22:55:09 +02:00
docker-compose.yml Minor edits on readme and documentation 2020-11-14 13:25:01 +01:00
Dockerfile Using a newer version of alpine 2021-12-04 01:35:55 +01:00
Dockerfile.arm32v7 Reduce docker healthcheck frequency 2021-10-06 22:55:53 +02:00
Dockerfile.arm64v8 Reduce docker healthcheck frequency 2021-10-06 22:55:53 +02:00
entrypoint.sh Added su-exec to ARM dockerfiles and removed USER line 2020-07-09 18:47:33 +01:00
LICENSE Replace licence placeholder. Fix #142 2020-12-23 10:55:05 -08:00
mkdocs.yml Added some content to intro page, renamed files for consistency 2022-04-22 20:47:15 -04:00
package.json Add a get started link when no configuration is found 2022-03-11 22:47:26 +01:00
README.md Updated README to point to new documentation 2022-04-27 19:20:36 -04:00
requirements.txt Created new custom home page, moved Getting started to its own page, fixed requirements.txt, added docs/README.md 2022-03-22 18:22:16 -04:00
vue.config.js Add crossorigin use-credentials attribute to manifest tag 2021-04-25 14:38:41 -07:00
yarn.lock Add a get started link when no configuration is found 2022-03-11 22:47:26 +01:00

Homer's donut
Homer

A dead simple static HOMepage for your servER to keep your services on hand, from a simple yaml configuration file.

DemoChatGetting started

License: Apache 2 Gitter chat Download homer static build Awesome

Table of Contents

Features

  • yaml file configuration
  • Installable (pwa)
  • Search
  • Grouping
  • Theme customization
  • Offline health check
  • keyboard shortcuts:
    • / Start searching.
    • Escape Stop searching.
    • Enter Open the first matching result (respects the bookmark's _target property).
    • Alt/Option + Enter Open the first matching result in a new tab.

Getting started

Using Docker

The fastest and recommended way to get your Homer instance up and running is with Docker. The Docker image comes with a web server built-in so that all you need to worry about is your config file.

Internally, the Docker image looks for the assets in the /www/assets directory so you can bind a volume from your host machine to that directory in order to modify and persist the configuration files. The web server serves the dashboard on port 8080, but using a port binding will let you expose that to whatever external port you like.

docker

To launch container:

docker run -d \
  -p 8080:8080 \
  -v </your/local/assets>:/www/assets \
  --restart=always \
  b4bz/homer:latest

Use UID and/or GID env var to change the assets owner:

docker run -d \
  -p 8080:8080 \
  -v </your/local/assets>:/www/assets \
  -e "UID=1000" -e "GID=1000" \
  --restart=always \
  b4bz/homer:latest

docker-compose

It is recommended to use docker-compose to manage your Docker containers, and below you can find a simple compose yaml file. Copy the contents into a docker-compose.yaml and modify the volume binding to your desired directory to get started:

version: '3.3'
services:
  homer:
    restart: always
    volumes:
      - /your/local/assets:/www/assets
    ports:
      - 8080:8080
    image: b4bz/homer

To launch container:

cd /path/to/docker-compose.yml
docker-compose up -d

Use UID and/or GID env var to change the assets owner:

version: '3.3'
services:
  homer:
    restart: always
    volumes:
      - /your/local/assets:/www/assets
    ports:
      - 8080:8080
    environment:
      - UID=1000
      - GID=1000
    image: b4bz/homer

Shipping your own web server

Prebuilt release tarball

Download 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.

wget https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip
unzip homer.zip
cd homer
cp assets/config.yml.dist assets/config.yml
npx serve # or python -m http.server 8010 or apache, nginx ...

Building from source

# Using yarn (recommended)
yarn install
yarn build

# **OR** Using npm
npm install
npm run build

Then your dashboard is ready to use in the /dist directory.