For all contributions, please respect the following guidelines:
* Each pull request should implement ONE feature or bugfix. If you want to add or fix more than one thing, submit more than one pull request.
-* Do not commit changes to files that are irrelevant to your feature or bugfix (eg: `.gitignore`).
+* Do not commit changes to files that are irrelevant to your feature or bugfix (e.g. `.gitignore`).
* Do not add unnecessary dependencies.
* Be aware that the pull request review process is not immediate, and is generally proportional to the size of the pull request.
### Discuss about ideas
-If you want to add a feature, it's often best to talk about it before starting working on it and submitting a pull request. It's not mandatory at all, but
+If you want to add a feature, it's often best to talk about it before starting to work on it and submitting a pull request. It's not mandatory at all, but
feel free to open an issue to present your idea.
### How to submit a contribution
</h1>
<h4 align="center">
- A dead simple static <strong>HOM</strong>epage for your serv<strong>ER</strong> to keep your services on hand, from a simple `yaml` configuration file.
+ A dead simple static <strong>HOM</strong>epage for your serv<strong>ER</strong> to keep your services on hand, from a simple <code>yaml</code> configuration file.
</h4>
<p align="center">
- [Getting started](#getting-started)
- [Configuration](docs/configuration.md)
- [Tips & tricks](docs/tips-and-tricks.md)
-- [Roadmap](#roadmap)
+- [Roadmap](#roadmap)
- [Development](docs/development.md)
- [yaml](http://yaml.org/) file configuration
- Installable (pwa)
- Search
-- Grouping
+- Grouping
- Theme customization
- Offline heathcheck
- keyboard shortcuts:
### Using docker
-To launch container :
+To launch container:
```sh
docker run -p 8080:8080 -v /your/local/assets/:/www/assets b4bz/homer:latest
### Using docker-compose
The `docker-compose.yml` file must be edited to match your needs.
-Set the port and volume (equivalent to -p and -v arguments) :
+Set the port and volume (equivalent to `-p` and `-v` arguments):
```yaml
volumes:
- 8080:8080
```
-To launch container :
+To launch container:
```sh
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` :
+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`:
```yaml
environment:
-- UID=1000
-- GID=1000
+ - UID=1000
+ - GID=1000
```
### Using the release tarball (prebuilt, ready to use)
-Download and extract the latest 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 webserver.
-
+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 webserver.
+
```sh
wget https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip
unzip homer.zip
services:
homer:
image: b4bz/homer
+ #To build from source, comment previous line and uncomment below
+ #build: .
container_name: homer
volumes:
- /your/local/assets/:/www/assets
connectivityCheck: true # whether you want to display a message when the apps are not accessible anymore (VPN disconnected for example)
# Optional theming
-theme: default # 'default' or one of the theme available in 'src/assets/themes'.
+theme: default # 'default' or one of the themes available in 'src/assets/themes'.
# Optional custom stylesheet
# Will load custom CSS files. Especially useful for custom icon sets.
# stylesheet:
# - "assets/custom.css"
-# Here is the exaustive list of customization parameters
+# Here is the exhaustive list of customization parameters
# However all value are optional and will fallback to default if not set.
# if you want to change only some of the colors, feel free to remove all unused key.
colors:
url: "https://github.com/bastienwirtz/homer"
# Services
-# First level array represent a group.
+# First level array represents a group.
# Leave only a "items" key if not using group (group name, icon & tagstyle are optional, section separation will not be displayed).
services:
- name: "Application"
```yaml
- name: "VS Code"
logo: "/assets/vscode.png"
- subtitle: "Develope Code Anywhere, On Anything!"
- <<: *App # Regerence to the predefined "App" Tag
+ subtitle: "Develop Code Anywhere, On Anything!"
+ <<: *App # Reference to the predefined "App" Tag
url: "https://vscode.example.com/"
target: "_blank" # optional html tag target attribute
````
-Then when Homer reads your config, it will substitute your anchors automatically, the the above example is equal to:
+Then when Homer reads your config, it will substitute your anchors automatically, the above example is equal to:
```yaml
- name: "VS Code"
logo: "/assets/vscode.png"
- subtitle: "Develope Code Anywhere, On Anything!"
+ subtitle: "Develop Code Anywhere, On Anything!"
tag: "App"
tagstyle: "is-medium is-info"
url: "https://vscode.example.com/"
target: "_blank" # optional html tag target attribute
```
-The end result is that if you want to update the name or style of any particular tag, just update it once, in the tags section!
+The end result is that if you want to update the name or style of any particular tag, just update it once, in the tags section!
Great if you have a lot of services or a lot of tags!
## Remotely edit your config with Code Server
#### `by @JamiePhonic`
-Homer doesn't yet provide a way to edit your configuration from inside Homer itself, but that doesn't mean it cant be done!
+Homer doesn't yet provide a way to edit your configuration from inside Homer itself, but that doesn't mean it can't be done!
You can setup and use [Code-Server](https://github.com/cdr/code-server) to edit your `config.yml` file from anywhere!
If you're running Homer in docker, you can setup a Code-Server container and pass your homer config directory into it.
-Simply pass your homer config directory as and extra -v parameter to your code-server container:
+Simply pass your homer config directory as an extra -v parameter to your code-server container:
```
-v '/your/local/homer/config-dir/':'/config/homer':'rw'
```
As a bonus, Code-Server puts the "current folder" as a parameter in the URL bar, so you could add a `links:` entry in Homer that points to your code-server instance with the directory pre-filled for essentially 1 click editing!
-For example:
+For example:
```yml
links:
- name: Edit config