diff --git a/README.md b/README.md index a378b300..dfe9975a 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ - đŠī¸ A minimal view, for use as a fast-loading browser startpage - đąī¸ Choose how to launch apps, either new tab, same tab, a pop-up modal or in the workspace view - đ Multi-language support, with more languages being added regularly -- đ Customizable layout, sizes, text, component visibility, behavior and colors etc +- đ Customizable layout, sizes, text, component visibility, sort order, behavior etc - đŧī¸ Option for full-screen background image, custom nav-bar links, html footer, title, and more - đ Easy to setup with Docker, or on bare metal, or with 1-Click cloud deployment - âī¸ Easy single-file YAML-based configuration, with option to configure app directly through the UI @@ -214,7 +214,7 @@ Dashy comes with a number of built-in themes, but it's also easy to make you're > For full iconography documentation, see: [**Icons**](./docs/icons.md) -Both sections and items can have an icon associated with them, and defined under the `icon` attribute. There are many options for icons, including Font Awesome support, automatic fetching from favicon, programmatically generated icons and direct local or remote URLs. +Both sections and items can have an icon associated with them, and defined under the `icon` attribute. There are many options for icons, including Font Awesome support, automatic fetching from favicon, emojis, programmatically generated icons and direct local or remote URLs.
@@ -222,11 +222,12 @@ Both sections and items can have an icon associated with them, and defined under
- **Favicon**: Set `icon: favicon` to fetch a services icon automatically from the URL of the corresponding application
- **Font-Awesome**: To use any font-awesome icon, specify the category, followed by the icon name, e.g. `fas fa-rocket` or `fab fa-monero`. You can also use Pro icons if you have a license key, just set it under `appConfig.fontAwesomeKey`
-- **Generative**: Setting `icon: generative`, will generate a unique for a given service, based on it's URL or IP
-- **Emoji**: Use an emoji as a tile icon, by putting the emoji's code as the icon attribute. Emojis can be specified either as emojis (`đ`), unicode (`'U+1F680'`) or shortcode (`':rocket:'`).
-- **URL**: You can also pass in a URL to an icon asset, hosted either locally or using any CDN service. E.g. `icon: https://i.ibb.co/710B3Yc/space-invader-x256.png`.
-- **Local Image**: To use a local image, store it in `./public/item-icons/` (or create a volume in Docker: `-v /local/image/directory:/app/public/item-icons/`) , and reference it by name and extension - e.g. set `icon: image.png` to use `./public/item-icon/image.png`. You can also use sub-folders here.
-- **Material Design Icons**: You can also use any icon from [materialdesignicons.com](https://dev.materialdesignicons.com/icons) by setting the icon to `mdi-[icon-name]`.
+- **Simple Icons**: Use any brand/ logo icon from [simpleicons.org](https://simpleicons.org/) by setting the icon to `si-[icon-name]`
+- **Emoji**: Use an emoji as a tile icon, by putting the emoji's code as the icon attribute. Emojis can be specified either as emojis (`đ`), unicode (`'U+1F680'`) or shortcode (`':rocket:'`)
+- **Generative**: Setting `icon: generative`, will generate a unique logo for a given service, based on it's specified URL or IP
+- **URL**: You can also pass in a URL to an icon asset, hosted either locally or using any CDN service. E.g. `icon: https://i.ibb.co/710B3Yc/space-invader-x256.png`
+- **Local Image**: To use a local image, store it in `./public/item-icons/` (or create a volume in Docker: `-v /local/image/directory:/app/public/item-icons/`) , and reference it by name and extension - e.g. set `icon: image.png` to use `./public/item-icon/image.png`. You can also use sub-folders here
+- **Material Design Icons**: You can also use any icon from [materialdesignicons.com](https://dev.materialdesignicons.com/icons) by setting the icon to `mdi-[icon-name]`
**[âŦī¸ Back to Top](#dashy)**
@@ -254,7 +255,7 @@ You can also specify an time interval in seconds under `appConfig.statusCheckInt
> For full authentication documentation, see: [**Authentication**](./docs/authentication.md)
-Dashy now has full support for [Keycloak](https://www.keycloak.org/)!
+Dashy now has full support for secure single-sign-on using [Keycloak](https://www.keycloak.org/)! See [setup docs](/docs/authentication.md#keycloak) for a full usage guide
There is also a simple login feature for basic access control, which doesn't require any additional setup. To enable this feature, add an `auth` attribute under `appConfig`, containing an array of `users`, each with a username, SHA-256 hashed password and optional user type.
@@ -269,7 +270,10 @@ appConfig:
**Guest Access**: By default, when authentication is configured no user can access your dashboard without first logging in. If you would like to allow for read-only access by unauthenticated users, then you can enable guest mode, by setting `appConfig.auth.enableGuestAccess: true`.
-**Note**: Using the above method involves access control being handled on the frontend, and therefore in security-critical situations, it is recommended to use an alternate method for authentication. Keycloak is [natively supported](docs/authentication.md#keycloak), but you could also use [Authelia](https://www.authelia.com/), a VPN or web server and firewall rules. Instructions for all of these can be found [in the docs](docs/authentication.md#alternative-authentication-methods).
+**Granular Controls**: With basic login, it is also possible to control which sections are visible to which users. Under the `displayData` property of a section, you can pass an array of usernames to one of the following attributes:
+- `hideForUsers` - Section will be visible to all users, except for those specified in this list
+- `showForUsers` - Section will be hidden from all users, except for those specified in this list
+- `hideForGuests` - Section will be visible for all logged in users, but not for guests (if guest access is enabled)
-
+