X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=README.md;h=f97d3de074f3b2fc45c53a09e92324115c7e6fbe;hb=refs%2Fheads%2Fmain;hp=d35f743d1f0c980830cb3265cb94e2b03e0f0568;hpb=ff0b5150f1cef5456a685b492ee4f4f02b6e2ef5;p=github%2Fbastienwirtz%2Fhomer.git diff --git a/README.md b/README.md index d35f743..f97d3de 100644 --- a/README.md +++ b/README.md @@ -1,114 +1,120 @@

- Homer's donut + Homer's donut
Homer

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

- +

+ Buy Me A Coffee +

- - Demo - • - Chat - • - Getting started - + + Demo + • + Chat + • + Getting started +

- License: Apache 2 + License: Apache 2 Gitter chat + alt="Gitter chat" + src="https://badges.gitter.im/homer-dashboard/community.svg"> Download homer static build - Awesome + alt="Download homer static build" + src="https://img.shields.io/badge/Download-homer.zip-orange"> + speed-blazing + Awesome

- +

## Table of Contents + - [Features](#features) - [Getting started](#getting-started) - [Configuration](docs/configuration.md) +- [Custom services](docs/customservices.md) - [Tips & tricks](docs/tips-and-tricks.md) -- [Roadmap](#roadmap) - [Development](docs/development.md) - +- [Troubleshooting](docs/troubleshooting.md) ## Features + - [yaml](http://yaml.org/) file configuration - Installable (pwa) - Search -- Grouping +- Grouping - Theme customization -- Offline heathcheck +- 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 -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**. +Homer 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. -See [documentation](docs/configuration.md) for information about the configuration (`assets/config.yml`) options. +It's meant to be served by an HTTP server, **it will not work if you open the index.html directly over file:// protocol**. ### Using docker -To launch container : - ```sh -docker run -p 8080:8080 -v /your/local/assets/:/www/assets b4bz/homer:latest +docker run -d \ + -p 8080:8080 \ + -v :/www/assets \ + --restart=always \ + b4bz/homer:latest ``` -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" [...]`). +The container will run using a user uid and gid 1000. Add `--user :` to the docker command to adjust it. Make sure this match the ownership of your assets directory. -### Using docker-compose +**Environment variables:** -The `docker-compose.yml` file must be edited to match your needs. -Set the port and volume (equivalent to -p and -v arguments) : +* **`INIT_ASSETS`** (default: `1`) +Install example configuration file & assets (favicons, ...) to help you get started. -```yaml -volumes: - - /your/local/assets/:/www/assets -ports: - - 8080:8080 -``` +* **`SUBFOLDER`** (default: `null`) +If you would like to host Homer in a subfolder, (ex: *http://my-domain/**homer***), set this to the subfolder path (ex `/homer`). -To launch container : +* **`PORT`** (default: `8080`) +If you would like to change internal port of Homer from default `8080` to your port choice. -```sh -cd /path/to/docker-compose.yml -docker-compose up -d -``` +* **`IPV6_DISABLE`** (default: 0) +Set to `1` to disable listening on IPv6. + +#### With docker-compose + +A [`docker-compose.yml`](docker-compose.yml) file is available as an example. It must be edited to match your needs. You probably want to adjust the port mapping and volume binding (equivalent to `-p` and `-v` arguments). -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` : +Then launch the container: -```yaml -environment: -- UID=1000 -- GID=1000 +```sh +cd /path/to/docker-compose.yml/ +docker-compose up -d ``` ### Using the release tarball (prebuilt, ready to use) -Download and extract the latest 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. - +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. + ```sh wget https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip unzip homer.zip @@ -117,22 +123,28 @@ cp assets/config.yml.dist assets/config.yml npx serve # or python -m http.server 8010 or apache, nginx ... ``` -### Build manually +### Using Helm + +Thanks to [@djjudas21](https://github.com/djjudas21) [charts](https://github.com/djjudas21/charts/tree/main/charts/homer): ```sh -# Using yarn (recommended) -yarn install -yarn build +helm repo add djjudas21 https://djjudas21.github.io/charts/ +helm repo update djjudas21 -# **OR** Using npm -npm install -npm run build -``` +# install with all defaults +helm install homer djjudas21/homer -Then your dashboard is ready to use in the `/dist` directory. +# install with customisations +wget https://raw.githubusercontent.com/djjudas21/charts/main/charts/homer/values.yaml +# edit values.yaml +helm install homer djjudas21/homer -f values.yaml +``` +### Build manually -## Roadmap +```sh +pnpm install +pnpm build +``` -- [ ] Add new themes. -- [ ] Add support for custom service card (add custom feature to some service / app link) +Then your dashboard is ready to use in the `/dist` directory.