]>
Commit | Line | Data |
---|---|---|
1d3287dc | 1 | # Configuration |
1bc75494 | 2 | |
2662b170 | 3 | Title, icons, links, colors, and services can be configured in the `config.yml` file (located in `/assets` directory once built, or in the `public/assets` directory in development mode), using [yaml](http://yaml.org/) format. |
1bc75494 BW |
4 | |
5 | ```yaml | |
6 | --- | |
7 | # Homepage configuration | |
8 | # See https://fontawesome.com/icons for icons options | |
9 | ||
fd12de9e | 10 | # Optional: Use external configuration file. |
1bc75494 BW |
11 | # Using this will ignore remaining config in this file |
12 | # externalConfig: https://example.com/server-luci/config.yaml | |
13 | ||
14 | title: "App dashboard" | |
15 | subtitle: "Homer" | |
a02961b7 | 16 | # documentTitle: "Welcome" # Customize the browser tab text |
ffe3404a | 17 | logo: "assets/logo.png" |
1bc75494 BW |
18 | # Alternatively a fa icon can be provided: |
19 | # icon: "fas fa-skull-crossbones" | |
20 | ||
21 | header: true # Set to false to hide the header | |
22 | footer: '<p>Created with <span class="has-text-danger">❤️</span> with <a href="https://bulma.io/">bulma</a>, <a href="https://vuejs.org/">vuejs</a> & <a href="https://fontawesome.com/">font awesome</a> // Fork me on <a href="https://github.com/bastienwirtz/homer"><i class="fab fa-github-alt"></i></a></p>' # set false if you want to hide it. | |
23 | ||
24 | columns: "3" # "auto" or number (must be a factor of 12: 1, 2, 3, 4, 6, 12) | |
25 | connectivityCheck: true # whether you want to display a message when the apps are not accessible anymore (VPN disconnected for example) | |
26 | ||
27 | # Optional theming | |
86f4680a | 28 | theme: default # 'default' or one of the themes available in 'src/assets/themes'. |
1bc75494 | 29 | |
71cf63eb | 30 | # Optional custom stylesheet |
8e5ee54a GC |
31 | # Will load custom CSS files. Especially useful for custom icon sets. |
32 | # stylesheet: | |
33 | # - "assets/custom.css" | |
71cf63eb | 34 | |
86f4680a | 35 | # Here is the exhaustive list of customization parameters |
1bc75494 BW |
36 | # However all value are optional and will fallback to default if not set. |
37 | # if you want to change only some of the colors, feel free to remove all unused key. | |
38 | colors: | |
39 | light: | |
40 | highlight-primary: "#3367d6" | |
41 | highlight-secondary: "#4285f4" | |
42 | highlight-hover: "#5a95f5" | |
43 | background: "#f5f5f5" | |
44 | card-background: "#ffffff" | |
45 | text: "#363636" | |
46 | text-header: "#424242" | |
47 | text-title: "#303030" | |
48 | text-subtitle: "#424242" | |
49 | card-shadow: rgba(0, 0, 0, 0.1) | |
50 | link-hover: "#363636" | |
154e6efe | 51 | background-image: "assets/your/light/bg.png" |
1bc75494 BW |
52 | dark: |
53 | highlight-primary: "#3367d6" | |
54 | highlight-secondary: "#4285f4" | |
55 | highlight-hover: "#5a95f5" | |
56 | background: "#131313" | |
57 | card-background: "#2b2b2b" | |
58 | text: "#eaeaea" | |
59 | text-header: "#ffffff" | |
60 | text-title: "#fafafa" | |
61 | text-subtitle: "#f5f5f5" | |
62 | card-shadow: rgba(0, 0, 0, 0.4) | |
63 | link-hover: "#ffdd57" | |
154e6efe | 64 | background-image: "assets/your/dark/bg.png" |
1bc75494 BW |
65 | |
66 | # Optional message | |
67 | message: | |
68 | # url: "https://<my-api-endpoint>" # Can fetch information from an endpoint to override value below. | |
6d29bc27 | 69 | # mapping: # allows to map fields from the remote format to the one expected by Homer |
70 | # title: 'id' # use value from field 'id' as title | |
71 | # content: 'value' # value from field 'value' as content | |
9542de6e | 72 | # refreshInterval: 10000 # Optional: time interval to refresh message |
6d29bc27 | 73 | # |
74 | # Real example using chucknorris.io for showing Chuck Norris facts as messages: | |
75 | # url: https://api.chucknorris.io/jokes/random | |
76 | # mapping: | |
77 | # title: 'id' | |
78 | # content: 'value' | |
1ddf3941 | 79 | # refreshInterval: 10000 |
1bc75494 BW |
80 | style: "is-warning" |
81 | title: "Optional message!" | |
0e045b4c | 82 | icon: "fa fa-exclamation-triangle" |
1bc75494 BW |
83 | content: "Lorem ipsum dolor sit amet, consectetur adipiscing elit." |
84 | ||
85 | # Optional navbar | |
86 | # links: [] # Allows for navbar (dark mode, layout, and search) without any links | |
87 | links: | |
88 | - name: "Link 1" | |
89 | icon: "fab fa-github" | |
90 | url: "https://github.com/bastienwirtz/homer" | |
91 | target: "_blank" # optional html tag target attribute | |
92 | - name: "link 2" | |
93 | icon: "fas fa-book" | |
94 | url: "https://github.com/bastienwirtz/homer" | |
e3bd2ecc | 95 | # this will link to a second homer page that will load config from page2.yml and keep default config values as in config.yml file |
96 | # see url field and assets/page.yml used in this example: | |
97 | - name: "Second Page" | |
98 | icon: "fas fa-file-alt" | |
c6267296 | 99 | url: "#page2" |
1bc75494 BW |
100 | |
101 | # Services | |
86f4680a | 102 | # First level array represents a group. |
1bc75494 BW |
103 | # Leave only a "items" key if not using group (group name, icon & tagstyle are optional, section separation will not be displayed). |
104 | services: | |
105 | - name: "Application" | |
62ec6fa0 | 106 | icon: "fas fa-code-branch" |
8e093313 GC |
107 | # A path to an image can also be provided. Note that icon take precedence if both icon and logo are set. |
108 | # logo: "path/to/logo" | |
1bc75494 BW |
109 | items: |
110 | - name: "Awesome app" | |
111 | logo: "assets/tools/sample.png" | |
112 | # Alternatively a fa icon can be provided: | |
113 | # icon: "fab fa-jenkins" | |
114 | subtitle: "Bookmark example" | |
115 | tag: "app" | |
116 | url: "https://www.reddit.com/r/selfhosted/" | |
117 | target: "_blank" # optional html tag target attribute | |
118 | - name: "Another one" | |
119 | logo: "assets/tools/sample2.png" | |
120 | subtitle: "Another application" | |
121 | tag: "app" | |
122 | # Optional tagstyle | |
123 | tagstyle: "is-success" | |
124 | url: "#" | |
125 | - name: "Other group" | |
126 | icon: "fas fa-heartbeat" | |
127 | items: | |
9a14de00 | 128 | - name: "Pi-hole" |
1bc75494 | 129 | logo: "assets/tools/sample.png" |
c5eab80d | 130 | # subtitle: "Network-wide Ad Blocking" # optional, if no subtitle is defined, PiHole statistics will be shown |
1bc75494 | 131 | tag: "other" |
9a14de00 BW |
132 | url: "http://192.168.0.151/admin" |
133 | type: "PiHole" # optional, loads a specific component that provides extra features. MUST MATCH a file name (without file extension) available in `src/components/services` | |
e9afa4d7 TP |
134 | target: "_blank" # optional html a tag target attribute |
135 | # class: "green" # optional custom CSS class for card, useful with custom stylesheet | |
be308259 | 136 | # background: red # optional color for card to set color directly without custom stylesheet |
1bc75494 BW |
137 | ``` |
138 | ||
9e0ef05e | 139 | View [Custom Services](customservices.md) for details about all available custom services (like PiHole) and how to configure them. |
fd12de9e | 140 | |
9542de6e | 141 | If you choose to fetch message information from an endpoint, the output format should be as follows (or you can [custom map fields as shown in tips-and-tricks](./tips-and-tricks.md#mapping-fields)): |
1bc75494 BW |
142 | |
143 | ```json | |
144 | { | |
145 | "style": null, | |
146 | "title": "Lorem ipsum 42", | |
147 | "content": "LA LA LA Lorem ipsum dolor sit amet, ....." | |
148 | } | |
149 | ``` | |
150 | ||
151 | `null` value or missing keys will be ignored and value from the `config.yml` will be used if available. | |
152 | Empty values (either in `config.yml` or the endpoint data) will hide the element (ex: set `"title": ""` to hide the title bar). | |
153 | ||
1d3287dc | 154 | ## Style Options |
1bc75494 BW |
155 | |
156 | Homer uses [bulma CSS](https://bulma.io/), which provides a [modifiers syntax](https://bulma.io/documentation/modifiers/syntax/). You'll notice in the config there is a `tagstyle` option. It can be set to any of the bulma modifiers. You'll probably want to use one of these 4 main colors: | |
157 | ||
158 | - `is-info` (blue) | |
159 | - `is-success` (green) | |
160 | - `is-warning` (yellow) | |
161 | - `is-danger` (red) | |
162 | ||
163 | You can read the [bulma modifiers page](https://bulma.io/documentation/modifiers/syntax/) for other options regarding size, style, or state. | |
d1b9dea2 | 164 | |
1d3287dc | 165 | ## PWA Icons |
d1b9dea2 BW |
166 | |
167 | In order to easily generate all required icon preset for the PWA to work, a tool like [vue-pwa-asset-generator](https://www.npmjs.com/package/vue-pwa-asset-generator) can be used: | |
168 | ||
169 | ```bash | |
170 | npx vue-pwa-asset-generator -a {your_512x512_source_png} -o {your_output_folder} | |
171 | ``` | |
c3878bca | 172 | |
1d3287dc | 173 | ## Supported services |
c3878bca AW |
174 | |
175 | Currently the following services are supported for showing quick infos on the card. They can be used by setting the type to one of the following values at the item. | |
176 | ||
177 | - PiHole | |
178 | - AdGuardHome | |
179 | - PaperlessNG | |
180 | - Mealie | |
181 | ||
1d3287dc BW |
182 | ## Additional configuration |
183 | ||
184 | ### Paperless | |
c3878bca | 185 | |
c3878bca AW |
186 | For Paperless you need an API-Key which you have to store at the item in the field `apikey`. |
187 | ||
1d3287dc BW |
188 | ### Mealie |
189 | ||
4386cd09 | 190 | First off make sure to remove an existing `subtitle` as it will take precedence if set. Setting `type: "Mealie"` will then show the number of recipes Mealie is keeping organized or the planned meal for today if one is planned. You will have to set an API key in the field `apikey` which can be created in your Mealie installation. |