diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 90 |
1 files changed, 64 insertions, 26 deletions
@@ -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 | ||
68 | 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**. | 68 | ### Using Docker |
69 | 69 | ||
70 | See [documentation](docs/configuration.md) for information about the configuration (`assets/config.yml`) options. | 70 | The fastest and recommended way to get your Homer instance up and running is |
71 | with Docker. The Docker image comes with a web server built-in so that all you | ||
72 | need to worry about is your config file. | ||
71 | 73 | ||
72 | ### Using docker | 74 | Internally, the Docker image looks for the assets in the `/www/assets` directory |
75 | so you can bind a volume from your host machine to that directory in order to | ||
76 | modify and persist the configuration files. The web server serves the dashboard | ||
77 | on port 8080, but using a port binding will let you expose that to whatever | ||
78 | external port you like. | ||
79 | |||
80 | #### docker | ||
73 | 81 | ||
74 | To launch container: | 82 | To launch container: |
75 | 83 | ||
76 | ```sh | 84 | ```sh |
77 | docker run -d \ | 85 | docker 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 | ||
84 | 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" [...]`). | 92 | Use `UID` and/or `GID` env var to change the assets owner: |
85 | 93 | ||
86 | ### Using docker-compose | 94 | ```sh |
95 | docker 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 | ||
88 | The `docker-compose.yml` file must be edited to match your needs. | 103 | #### docker-compose |
89 | Set the port and volume (equivalent to `-p` and `-v` arguments): | 104 | |
105 | It is recommended to use docker-compose to manage your Docker containers, and | ||
106 | below 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 | ||
108 | get started: | ||
90 | 109 | ||
91 | ```yaml | 110 | ```yaml |
92 | volumes: | 111 | version: '3.3' |
93 | - /your/local/assets/:/www/assets | 112 | services: |
94 | ports: | 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 | ||
98 | To launch container: | 122 | To launch container: |
@@ -102,17 +126,31 @@ cd /path/to/docker-compose.yml | |||
102 | docker-compose up -d | 126 | docker-compose up -d |
103 | ``` | 127 | ``` |
104 | 128 | ||
105 | 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`: | 129 | Use `UID` and/or `GID` env var to change the assets owner: |
106 | 130 | ||
107 | ```yaml | 131 | ```yaml |
108 | environment: | 132 | version: '3.3' |
109 | - UID=1000 | 133 | services: |
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 | ||
115 | 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. | 150 | Download 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 | ||
153 | server. | ||
116 | 154 | ||
117 | ```sh | 155 | ```sh |
118 | wget https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip | 156 | wget https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip |
@@ -122,7 +160,7 @@ cp assets/config.yml.dist assets/config.yml | |||
122 | npx serve # or python -m http.server 8010 or apache, nginx ... | 160 | npx 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) |