X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=README.md;h=945fa1f7192393e737126a5c534c6d44aa366f76;hb=4a1e8717e90d1b0b516da2cbc1d16ff906d7fbdf;hp=11d4714d80c3ab36b038ca97268cf413024f1e27;hpb=5028088eda1f18a3d4db6a1589c39825bc872741;p=github%2Fbastienwirtz%2Fhomer.git diff --git a/README.md b/README.md index 11d4714..945fa1f 100644 --- a/README.md +++ b/README.md @@ -1,116 +1,142 @@ -# Homer -A dead simple static **HOM**epage for your serv**ER** to keep your services on hand, from a simple `yaml` configuration file. +
yaml
configuration file.
++ + Demo + ⢠+ Chat + ⢠+ Getting started + +
+ + ++ +
+ +## Table of Contents +- [Features](#features) +- [Getting started](#getting-started) +- [Configuration](docs/configuration.md) +- [Tips & tricks](docs/tips-and-tricks.md) +- [Roadmap](#roadmap) +- [Development](docs/development.md) + + +## Features +- [yaml](http://yaml.org/) 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**. + +See [documentation](docs/configuration.md) for information about the configuration (`assets/config.yml`) options. -**Check out the live demo [here](https://homer-demo.netlify.com/).** +### Using docker -If you need authentication support, you're on your own (it can be secured using a web server auth module or exposing it only through a VPN network / SSH tunnel, ...) +To launch container: -![screenshot](https://github.com/bastienwirtz/homer/blob/master/screenshot.png) +```sh +docker run -d \ + -p 8080:8080 \ + -v :/www/assets \ + --restart=always \ + b4bz/homer:latest +``` -## installation +Default assets will be automatically installed in the `/www/assets` directory. Use `UID` and/or `GID` env var to change the assets owner (`docker run -e "UID=1000" -e "GID=1000" [...]`). -### Using docker +### Using docker-compose + +The `docker-compose.yml` file must be edited to match your needs. +Set the port and volume (equivalent to `-p` and `-v` arguments): + +```yaml +volumes: + - /your/local/assets/:/www/assets +ports: + - 8080:8080 +``` + +To launch container: ```sh -sudo docker run -p 8080:8080 -v /your/local/config.yml:/www/config.yml -v /your/local/assets/:/www/assets b4bz/homer:latest +cd /path/to/docker-compose.yml +docker-compose up -d ``` -### Manually +Default assets will be automatically installed in the `/www/assets` directory. Use `UID` and/or `GID` env var to change the assets owner, also in `docker-compose.yml`: -**How to build / install it?** There is no build system (ð±), use it like that! It'meant to be stupid simple & zero maintenance required. just copy the static files somewhere, and visit the `index.html`. +```yaml +environment: + - UID=1000 + - GID=1000 +``` +### Using the release tarball (prebuilt, ready to use) -## configuration +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 webserver. -Title, icons, links, colors, and services can be configured in the `config.yml` file, using [yaml](http://yaml.org/) format. +```sh +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 ... +``` +### Build manually -```yaml ---- -# Homepage configuration -# See https://fontawesome.com/icons for icons options - -title: "Simple homepage" -subtitle: "Homer" -logo: "assets/homer.png" -# Alternatively a fa icon can be provided: -# icon: "fas fa-skull-crossbones" -footer: 'Created with â¤ï¸ with bulma, vuejs & font awesome // Fork me on
' # set false if you want to hide it.header: - -# Optional message -message: - # url: "https://