diff options
-rw-r--r-- | README.md | 21 | ||||
-rw-r--r-- | docs/troubleshooting.md | 26 | ||||
-rw-r--r-- | entrypoint.sh | 2 |
3 files changed, 33 insertions, 16 deletions
@@ -65,9 +65,9 @@ | |||
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 | 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. |
69 | 69 | ||
70 | See [documentation](docs/configuration.md) for information about the configuration (`assets/config.yml`) options. | 70 | It's meant to be served by an HTTP server, **it will not work if you open the index.html directly over file:// protocol**. |
71 | 71 | ||
72 | ### Using docker | 72 | ### Using docker |
73 | 73 | ||
@@ -79,7 +79,9 @@ docker run -d \ | |||
79 | b4bz/homer:latest | 79 | b4bz/homer:latest |
80 | ``` | 80 | ``` |
81 | 81 | ||
82 | Environment variables: | 82 | The container will run using a user uid and gid 1000. Add `--user <your-UID>:<your-GID>` to the docker command to adjust it. Make sure this match the ownership of your assets directory. |
83 | |||
84 | **Environment variables:** | ||
83 | 85 | ||
84 | * **`INIT_ASSETS`** (default: `1`) | 86 | * **`INIT_ASSETS`** (default: `1`) |
85 | Install example configuration file & assets (favicons, ...) to help you get started. | 87 | Install example configuration file & assets (favicons, ...) to help you get started. |
@@ -87,18 +89,9 @@ Install example configuration file & assets (favicons, ...) to help you get star | |||
87 | * **`SUBFOLDER`** (default: `null`) | 89 | * **`SUBFOLDER`** (default: `null`) |
88 | If you would like to host Homer in a subfolder, (ex: *http://my-domain/**homer***), set this to the subfolder path (ex `/homer`). | 90 | If you would like to host Homer in a subfolder, (ex: *http://my-domain/**homer***), set this to the subfolder path (ex `/homer`). |
89 | 91 | ||
92 | #### With docker-compose | ||
90 | 93 | ||
91 | ### Using docker-compose | 94 | 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). |
92 | |||
93 | The `docker-compose.yml` file must be edited to match your needs. | ||
94 | You probably want to set the port mapping and volume binding (equivalent to `-p` and `-v` arguments): | ||
95 | |||
96 | ```yaml | ||
97 | volumes: | ||
98 | - /your/local/assets/:/www/assets | ||
99 | ports: | ||
100 | - 8080:8080 | ||
101 | ``` | ||
102 | 95 | ||
103 | Then launch the container: | 96 | Then launch the container: |
104 | 97 | ||
diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index 10d6c2d..33b8fb7 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md | |||
@@ -1,8 +1,32 @@ | |||
1 | # Troubleshooting | 1 | # Troubleshooting |
2 | 2 | ||
3 | ## My docker container refuse to start / is stuck at restarting. | ||
4 | |||
5 | You might be facing a permission issue. First of all, check your container logs (adjust the container name if necessary): | ||
6 | |||
7 | ```sh | ||
8 | $ docker logs homer | ||
9 | [...] | ||
10 | Assets directory not writable. Check assets directory permissions & docker user or skip default assets install by setting the INIT_ASSETS env var to 0 | ||
11 | ``` | ||
12 | |||
13 | In this case you need to make sure your mounted assests directory have the same GID / UID the container user have (default 1000:1000), and that the read and write permission is granted for the user or the group. | ||
14 | |||
15 | You can either: | ||
16 | - Update your assets directory permissions (ex: `chown -R 1000:1000 /your/assets/folder/`, `chmod -R u+rw /your/assets/folder/`) | ||
17 | - Change the docker user by using the `--user` arguments with docker cli or `user: 1000:1000` with docker compose. | ||
18 | |||
19 | ⚠️ Notes: | ||
20 | |||
21 | - **Do not** use env var to set the GID / UID of the user running container. Use the Docker `user` option. | ||
22 | - **Do not** use 0:0 as a user value, it would be a security risk, and it's not guaranty to work. | ||
23 | |||
24 | Check this [thread](https://github.com/bastienwirtz/homer/issues/459) for more information about debugging | ||
25 | permission issues. | ||
26 | |||
3 | ## My custom service card doesn't work, nothing appears or offline status is displayed (pi-hole, sonarr, ping, ...) | 27 | ## My custom service card doesn't work, nothing appears or offline status is displayed (pi-hole, sonarr, ping, ...) |
4 | 28 | ||
5 | You might by facing a [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) (Cross Origin Request Sharing) issue. | 29 | You might be facing a [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) (Cross Origin Request Sharing) issue. |
6 | It happens when the targeted service is hosted on a different domain or port. | 30 | It happens when the targeted service is hosted on a different domain or port. |
7 | Web browsers will not allow to fetch information from a different site without explicit permissions (the targeted service | 31 | Web browsers will not allow to fetch information from a different site without explicit permissions (the targeted service |
8 | must include a special `Access-Control-Allow-Origin: *` HTTP headers). | 32 | must include a special `Access-Control-Allow-Origin: *` HTTP headers). |
diff --git a/entrypoint.sh b/entrypoint.sh index eba1cb2..48df1e6 100644 --- a/entrypoint.sh +++ b/entrypoint.sh | |||
@@ -3,7 +3,7 @@ | |||
3 | PERMISSION_ERROR="Check assets directory permissions & docker user or skip default assets install by setting the INIT_ASSETS env var to 0" | 3 | PERMISSION_ERROR="Check assets directory permissions & docker user or skip default assets install by setting the INIT_ASSETS env var to 0" |
4 | 4 | ||
5 | # Default assets & exemple configuration installation if possible. | 5 | # Default assets & exemple configuration installation if possible. |
6 | if [[ "${INIT_ASSETS}" == "1" ]] && [[ ! -f "/www/config.yml" ]]; then | 6 | if [[ "${INIT_ASSETS}" == "1" ]] && [[ ! -f "/www/assets/config.yml" ]]; then |
7 | echo "No configuration found, installing default config & assets" | 7 | echo "No configuration found, installing default config & assets" |
8 | if [[ ! -w "/www/assets/" ]]; then echo "Assets directory not writable. $PERMISSION_ERROR" && exit 1; fi | 8 | if [[ ! -w "/www/assets/" ]]; then echo "Assets directory not writable. $PERMISSION_ERROR" && exit 1; fi |
9 | 9 | ||