aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--README.md90
1 files changed, 64 insertions, 26 deletions
diff --git a/README.md b/README.md
index 5ea80fb..733c385 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
2 <img 2 <img
3 width="180" 3 width="180"
4 alt="Homer's donut" 4 alt="Homer's donut"
5 src="https://raw.githubusercontent.com//bastienwirtz/homer/main/public/logo.png"> 5 src="public/logo.png">
6 <br/> 6 <br/>
7 Homer 7 Homer
8</h1> 8</h1>
@@ -36,18 +36,18 @@
36</p> 36</p>
37 37
38<p align="center"> 38<p align="center">
39 <img src="https://raw.github.com/bastienwirtz/homer/main/docs/screenshot.png" width="100%"> 39 <img src="docs/images/screenshot.png" width="100%">
40</p> 40</p>
41 41
42## Table of Contents 42## Table of Contents
43 43
44- [Features](#features) 44- [Features](#features)
45- [Getting started](#getting-started) 45- [Getting started](#getting-started)
46- [Configuration](docs/configuration.md) 46- [Configuration](https://bastienwirtz.github.io/homer/configuration)
47- [Custom services](docs/customservices.md) 47- [Custom services](https://bastienwirtz.github.io/homer/custom_services)
48- [Tips & tricks](docs/tips-and-tricks.md) 48- [Tips & tricks](https://bastienwirtz.github.io/homer/tips_and_tricks)
49- [Development](docs/development.md) 49- [Development](https://bastienwirtz.github.io/homer/development)
50- [Troubleshooting](docs/troubleshooting.md) 50- [Troubleshooting](https://bastienwirtz.github.io/homer/troubleshooting)
51 51
52## Features 52## Features
53 53
@@ -65,34 +65,58 @@
65 65
66## Getting started 66## Getting started
67 67
68Homer 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**. 68### Using Docker
69 69
70See [documentation](docs/configuration.md) for information about the configuration (`assets/config.yml`) options. 70The fastest and recommended way to get your Homer instance up and running is
71with Docker. The Docker image comes with a web server built-in so that all you
72need to worry about is your config file.
71 73
72### Using docker 74Internally, the Docker image looks for the assets in the `/www/assets` directory
75so you can bind a volume from your host machine to that directory in order to
76modify and persist the configuration files. The web server serves the dashboard
77on port 8080, but using a port binding will let you expose that to whatever
78external port you like.
79
80#### docker
73 81
74To launch container: 82To launch container:
75 83
76```sh 84```sh
77docker run -d \ 85docker run -d \
78 -p 8080:8080 \ 86 -p 8080:8080 \
79 -v </your/local/assets/>:/www/assets \ 87 -v </your/local/assets>:/www/assets \
80 --restart=always \ 88 --restart=always \
81 b4bz/homer:latest 89 b4bz/homer:latest
82``` 90```
83 91
84Default 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" [...]`). 92Use `UID` and/or `GID` env var to change the assets owner:
85 93
86### Using docker-compose 94```sh
95docker run -d \
96 -p 8080:8080 \
97 -v </your/local/assets>:/www/assets \
98 -e "UID=1000" -e "GID=1000" \
99 --restart=always \
100 b4bz/homer:latest
101```
87 102
88The `docker-compose.yml` file must be edited to match your needs. 103#### docker-compose
89Set the port and volume (equivalent to `-p` and `-v` arguments): 104
105It is recommended to use docker-compose to manage your Docker containers, and
106below you can find a simple compose yaml file. Copy the contents into a
107`docker-compose.yaml` and modify the volume binding to your desired directory to
108get started:
90 109
91```yaml 110```yaml
92volumes: 111version: '3.3'
93 - /your/local/assets/:/www/assets 112services:
94ports: 113 homer:
95 - 8080:8080 114 restart: always
115 volumes:
116 - /your/local/assets:/www/assets
117 ports:
118 - 8080:8080
119 image: b4bz/homer
96``` 120```
97 121
98To launch container: 122To launch container:
@@ -102,17 +126,31 @@ cd /path/to/docker-compose.yml
102docker-compose up -d 126docker-compose up -d
103``` 127```
104 128
105Default 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`: 129Use `UID` and/or `GID` env var to change the assets owner:
106 130
107```yaml 131```yaml
108environment: 132version: '3.3'
109 - UID=1000 133services:
110 - GID=1000 134 homer:
135 restart: always
136 volumes:
137 - /your/local/assets:/www/assets
138 ports:
139 - 8080:8080
140 environment:
141 - UID=1000
142 - GID=1000
143 image: b4bz/homer
111``` 144```
112 145
113### Using the release tarball (prebuilt, ready to use) 146### Shipping your own web server
147
148#### Prebuilt release tarball
114 149
115Download 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. 150Download and extract the latest release (`homer.zip`) from the [release page]
151(https://github.com/bastienwirtz/homer/releases), rename the
152`assets/config.yml.dist` file to `assets/config.yml`, and put it behind a web
153server.
116 154
117```sh 155```sh
118wget https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip 156wget https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip
@@ -122,7 +160,7 @@ cp assets/config.yml.dist assets/config.yml
122npx serve # or python -m http.server 8010 or apache, nginx ... 160npx serve # or python -m http.server 8010 or apache, nginx ...
123``` 161```
124 162
125### Build manually 163#### Building from source
126 164
127```sh 165```sh
128# Using yarn (recommended) 166# Using yarn (recommended)