]>
Commit | Line | Data |
---|---|---|
1bc75494 BW |
1 | ## Configuration |
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 | ||
92d5b8d4 | 139 | |
9e0ef05e | 140 | View [Custom Services](customservices.md) for details about all available custom services (like PiHole) and how to configure them. |
fd12de9e | 141 | |
9542de6e | 142 | 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 |
143 | |
144 | ```json | |
145 | { | |
146 | "style": null, | |
147 | "title": "Lorem ipsum 42", | |
148 | "content": "LA LA LA Lorem ipsum dolor sit amet, ....." | |
149 | } | |
150 | ``` | |
151 | ||
152 | `null` value or missing keys will be ignored and value from the `config.yml` will be used if available. | |
153 | Empty values (either in `config.yml` or the endpoint data) will hide the element (ex: set `"title": ""` to hide the title bar). | |
154 | ||
155 | ### Style Options | |
156 | ||
157 | 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: | |
158 | ||
159 | - `is-info` (blue) | |
160 | - `is-success` (green) | |
161 | - `is-warning` (yellow) | |
162 | - `is-danger` (red) | |
163 | ||
164 | You can read the [bulma modifiers page](https://bulma.io/documentation/modifiers/syntax/) for other options regarding size, style, or state. | |
d1b9dea2 BW |
165 | |
166 | ### PWA Icons | |
167 | ||
168 | 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: | |
169 | ||
170 | ```bash | |
171 | npx vue-pwa-asset-generator -a {your_512x512_source_png} -o {your_output_folder} | |
172 | ``` |