]>
Commit | Line | Data |
---|---|---|
09763dbf | 1 | # Homer |
e1470a8c BW |
2 | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) |
3 | [![Contribution Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com) | |
897f67f0 | 4 | [![Gitter](https://badges.gitter.im/homer-dashboard/community.svg)](https://gitter.im/homer-dashboard/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) |
e1470a8c BW |
5 | [![Dowload](https://img.shields.io/badge/Dowload-homer.zip-orange)](https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip) |
6 | [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/awesome-selfhosted/awesome-selfhosted) | |
7bb903e6 | 7 | |
e1470a8c BW |
8 | A dead simple static **HOM**epage for your serv**ER** to keep your s |
9 | ervices on hand, from a simple `yaml` configuration file. | |
09763dbf | 10 | |
897f67f0 | 11 | ## [Live demo](https://homer-demo.netlify.app) • [Chat](https://gitter.im/homer-dashboard/community) |
e1470a8c | 12 | ![screenshot](https://raw.github.com/bastienwirtz/homer/master/screenshot.png) |
a4de4a3a | 13 | |
e1470a8c BW |
14 | ## Table of Contents |
15 | - [Features](#features) | |
16 | - [Getting started](#getting-started) | |
1bc75494 BW |
17 | - [Configuration](docs/configuration.md) |
18 | - [Tips & tricks](docs/tips-and-tricks.md) | |
e1470a8c | 19 | - [Roadmap](#roadmap) |
1bc75494 BW |
20 | - [Developement](docs/developement.md) |
21 | ||
a4de4a3a | 22 | |
e1470a8c BW |
23 | ## Features |
24 | - [yaml](http://yaml.org/) file configuration | |
25 | - Installable (pwa) | |
26 | - Search | |
27 | - Grouping | |
28 | - Theme customization | |
29 | - Offline heathcheck | |
30 | - keyboard shortcuts: | |
31 | - `/` Start searching. | |
32 | - `Escape` Stop searching. | |
33 | - `Enter` Open the first matching result (respects the bookmark's `_target` property). | |
34 | - `Alt`/`Option` + `Enter` Open the first matching result in a new tab. | |
09763dbf | 35 | |
09763dbf | 36 | |
e1470a8c | 37 | ## Getting started |
22555b55 | 38 | |
e1470a8c | 39 | 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**. |
b79e6ed1 | 40 | |
1bc75494 BW |
41 | For more information about the `config.yml` file see [configuration](docs/configuration.md) the section. |
42 | ||
b79e6ed1 BW |
43 | ### Using docker |
44 | ||
45 | ```sh | |
2301d891 | 46 | docker run -p 8080:8080 -v /your/local/config.yml:/www/config.yml -v /your/local/assets/:/www/assets b4bz/homer:latest |
b79e6ed1 BW |
47 | ``` |
48 | ||
897f67f0 BW |
49 | As a bind mount is used here, docker will not copy the initial content of the `assets` directory to the mounted directory. |
50 | You can initialise your assets directory with the content provided in this repository | |
51 | ```sh | |
52 | cp -r /public/assets/* /your/local/assets/ | |
53 | ``` | |
54 | ||
55 | **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. | |
56 | ||
e1470a8c | 57 | ### Using the release tarball (prebuilt, ready to use) |
b9c5fcf0 | 58 | |
e1470a8c BW |
59 | Download and extract the latest the latest release (`homer.zip`) from the [release page](https://github.com/bastienwirtz/homer/releases), rename the `config.yml.dist` file to `config.yml`, and put it behind a webserver. |
60 | ||
b9c5fcf0 | 61 | ```sh |
e1470a8c BW |
62 | wget https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip |
63 | unzip homer.zip | |
64 | cd homer | |
65 | cp config.yml.dist config.yml | |
66 | npx serve # or python -m http.server 8010 or apache, nginx ... | |
b9c5fcf0 BW |
67 | ``` |
68 | ||
e1470a8c | 69 | ### Build manually |
b9c5fcf0 BW |
70 | |
71 | ```sh | |
72 | # Using yarn (recommended) | |
73 | yarn install | |
e1470a8c | 74 | yarn build |
b9c5fcf0 BW |
75 | |
76 | # **OR** Using npm | |
77 | npm install | |
e1470a8c | 78 | npm run build |
b9c5fcf0 BW |
79 | ``` |
80 | ||
e1470a8c | 81 | Then your dashboard is ready to use in the `/dist` directory. |
e41196e7 | 82 | |
e1470a8c BW |
83 | |
84 | ## Roadmap | |
85 | ||
1bc75494 | 86 | - [ ] Add new themes. |
e1470a8c | 87 | - [ ] Add support for custom service card (add custom feature to some service / app link) |