.github | ||
docs | ||
hooks | ||
public | ||
src | ||
.browserslistrc | ||
.dockerignore | ||
.eslintrc.js | ||
.gitignore | ||
babel.config.js | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
Dockerfile | ||
Dockerfile.arm32v7 | ||
Dockerfile.arm64v8 | ||
entrypoint.sh | ||
LICENSE | ||
package.json | ||
README.md | ||
screenshot.png | ||
vue.config.js | ||
yarn.lock |
Homer
A dead simple static HOMepage for your servER to keep your s
ervices on hand, from a simple yaml
configuration file.
Live demo • Chat
Table of Contents
Features
- yaml file configuration
- Installable (pwa)
- Search
- Grouping
- Theme customization
- Offline heathcheck
- 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
Homer is a full static html/js dashboard, generated from the source in /src
using webpack. It's meant to be served by an HTTP server, it will not work if you open dist/index.html directly over file:// protocol.
For more information about the config.yml
file see configuration the section.
Using docker
docker run -p 8080:8080 -v /your/local/config.yml:/www/config.yml -v /your/local/assets/:/www/assets b4bz/homer:latest
As a bind mount is used here, docker will not copy the initial content of the assets
directory to the mounted directory.
You can initialise your assets directory with the content provided in this repository
cp -r /public/assets/* /your/local/assets/
Alternatively if you just want to provide images/icons without customizing the other files (app manifest & pwa icons), you can mount a custom directory in the www
directory and use it in your config.yml
for icons path.
Using the release tarball (prebuilt, ready to use)
Download and extract the latest the latest release (homer.zip
) from the release page, rename the config.yml.dist
file to config.yml
, and put it behind a webserver.
wget https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip
unzip homer.zip
cd homer
cp config.yml.dist config.yml
npx serve # or python -m http.server 8010 or apache, nginx ...
Build manually
# 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.
Roadmap
- Add new themes.
- Add support for custom service card (add custom feature to some service / app link)