X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=docs%2Fgetting_started.md;h=29746e8e5d96e90d1efae72601a9aa80e5fe1792;hb=b19f6f228b29a320e842d52700d6930386cca199;hp=2a123e2f7434da98dce18bb5ad58e0b410f4f376;hpb=828582351780582558cb0f4a475ef9eeb4dc1299;p=github%2Fbastienwirtz%2Fhomer.git diff --git a/docs/getting_started.md b/docs/getting_started.md index 2a123e2..29746e8 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -1,31 +1,55 @@ -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**. +## Using Docker -See [documentation](docs/configuration.md) for information about the configuration (`assets/config.yml`) options. +The fastest and recommended way to get your Homer instance up and running is +with Docker. The Docker image comes with a web server built-in so that all you +need to worry about is your config file. -## Using docker +Internally, the Docker image looks for the assets in the `/www/assets` directory +so you can bind a volume from your host machine to that directory in order to +modify and persist the configuration files. The web server serves the dashboard +on port 8080, but using a port binding will let you expose that to whatever +external port you like. + +### docker To launch container: ```sh docker run -d \ -p 8080:8080 \ - -v :/www/assets \ + -v :/www/assets \ --restart=always \ b4bz/homer:latest ``` -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" [...]`). +Use `UID` and/or `GID` env var to change the assets owner: -## Using docker-compose +```sh +docker run -d \ + -p 8080:8080 \ + -v :/www/assets \ + -e "UID=1000" -e "GID=1000" \ + --restart=always \ + b4bz/homer:latest +``` -The `docker-compose.yml` file must be edited to match your needs. -Set the port and volume (equivalent to `-p` and `-v` arguments): +### docker-compose + +It is recommended to use docker-compose to manage your Docker containers, and +below you can find a simple compose yaml file. Copy the contents into a +`docker-compose.yaml` and modify the volume binding to your desired directory to +get started: ```yaml -volumes: - - /your/local/assets/:/www/assets -ports: - - 8080:8080 +version: '3.3' +services: + homer: + restart: always + volumes: + - /your/local/assets:/www/assets + ports: + - 8080:8080 + image: b4bz/homer ``` To launch container: @@ -35,15 +59,26 @@ cd /path/to/docker-compose.yml docker-compose up -d ``` -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`: +Use `UID` and/or `GID` env var to change the assets owner: ```yaml -environment: - - UID=1000 - - GID=1000 +version: '3.3' +services: + homer: + restart: always + volumes: + - /your/local/assets:/www/assets + ports: + - 8080:8080 + environment: + - UID=1000 + - GID=1000 + image: b4bz/homer ``` -## Using the release tarball (prebuilt, ready to use) +## Shipping your own web server + +### Prebuilt release tarball 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. @@ -55,7 +90,7 @@ cp assets/config.yml.dist assets/config.yml npx serve # or python -m http.server 8010 or apache, nginx ... ``` -## Build manually +### Building from source ```sh # Using yarn (recommended)