]> git.immae.eu Git - github/bastienwirtz/homer.git/commitdiff
Adding permissions configuration information.
authorBastien Wirtz <bastien.wirtz@gmail.com>
Wed, 29 Jun 2022 21:02:10 +0000 (23:02 +0200)
committerBastien Wirtz <bastien.wirtz@gmail.com>
Wed, 29 Jun 2022 21:02:10 +0000 (23:02 +0200)
README.md
docs/troubleshooting.md

index 5a08483aa48840a962bf50a0925e7a10db87964c..ea93f4febf05614e5a54fb575a36535ac730eb62 100644 (file)
--- a/README.md
+++ b/README.md
@@ -65,9 +65,9 @@
 
 ## 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
 
@@ -79,7 +79,9 @@ docker run -d \
   b4bz/homer:latest
 ```
 
-Environment variables: 
+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.
+
+**Environment variables:** 
 
 * **`INIT_ASSETS`** (default: `1`)
 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
 * **`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`).
 
+#### With docker-compose
 
-### Using docker-compose
-
-The `docker-compose.yml` file must be edited to match your needs.
-You probably want to set the port mapping and volume binding (equivalent to `-p` and `-v` arguments):
-
-```yaml
-volumes:
-  - /your/local/assets/:/www/assets
-ports:
-  - 8080:8080
-```
+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).
 
 Then launch the container:
 
index 10d6c2ddd63f782eaad1372e752f117b97d9f624..33b8fb7b9d196fa8febb52895ba17a1545ccb166 100644 (file)
@@ -1,8 +1,32 @@
 # Troubleshooting
 
+## My docker container refuse to start / is stuck at restarting.
+
+You might be facing a permission issue. First of all, check your container logs (adjust the container name if necessary): 
+
+```sh
+$ docker logs homer
+[...]
+Assets directory not writable. Check assets directory permissions & docker user or skip default assets install by setting the INIT_ASSETS env var to 0
+```
+
+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.
+
+You can either: 
+- Update your assets directory permissions (ex: `chown -R 1000:1000 /your/assets/folder/`, `chmod -R u+rw /your/assets/folder/`)
+- Change the docker user by using the `--user` arguments with docker cli or `user: 1000:1000` with docker compose.
+
+⚠️ Notes: 
+
+- **Do not** use env var to set the GID / UID of the user running container. Use the Docker `user` option.
+- **Do not** use 0:0 as a user value, it would be a security risk, and it's not guaranty to work.
+
+Check this [thread](https://github.com/bastienwirtz/homer/issues/459) for more information about debugging
+permission issues.
+
 ## My custom service card doesn't work, nothing appears or offline status is displayed (pi-hole, sonarr, ping, ...)
 
-You might by facing a [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) (Cross Origin Request Sharing) issue.
+You might be facing a [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) (Cross Origin Request Sharing) issue.
 It happens when the targeted service is hosted on a different domain or port.
 Web browsers will not allow to fetch information from a different site without explicit permissions (the targeted service
 must include a special `Access-Control-Allow-Origin: *` HTTP headers).