Adding permissions configuration information.

This commit is contained in:
Bastien Wirtz 2022-06-29 23:02:10 +02:00
parent a01c40d4b3
commit b5bf977402
2 changed files with 32 additions and 15 deletions

View File

@ -65,9 +65,9 @@
## Getting started ## 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 ### Using docker
@ -79,7 +79,9 @@ docker run -d \
b4bz/homer:latest 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`) * **`INIT_ASSETS`** (default: `1`)
Install example configuration file & assets (favicons, ...) to help you get started. 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`) * **`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`). 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 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).
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
```
Then launch the container: Then launch the container:

View File

@ -1,8 +1,32 @@
# Troubleshooting # 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, ...) ## 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. 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 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). must include a special `Access-Control-Allow-Origin: *` HTTP headers).