feat(docs): migrate documentation site into monorepo (#5912)
No files matched your search
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"label": "Management",
|
||||
"collapsed": true,
|
||||
"position": 2,
|
||||
"link": {
|
||||
"type": "generated-index",
|
||||
"title": "Management pages"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
---
|
||||
title: API
|
||||
tags:
|
||||
- API
|
||||
- Development
|
||||
- Interface
|
||||
---
|
||||
|
||||
import { ApiReferenceReact } from "@scalar/api-reference-react"
|
||||
|
||||
Using the Homarr API, you can interface with the application with your own code and business logic.
|
||||
It enables you to trigger almost all actions that you can perform from the Homarr UI.
|
||||
With the API, you can build resilient systems that automatically update Homarr with data - for example syncing it with
|
||||
your deployments in a cluster or dynamically adding integrations depending on how many replicas you run.
|
||||
|
||||
This page is language-neutral, and you must implement the API on your own in your desired language.
|
||||
It requires you to know your programming language well and have a basic understanding of HTTP, JSON and networking.
|
||||
You can test out API endpoints using any OpenAPI client - for example [Postman](https://www.postman.com/), [Insomnia](https://insomnia.rest/) or [Hoppscotch](https://hoppscotch.io/).
|
||||
|
||||
## Opening the API specification
|
||||
The specification is implemented according to the OpenAPI standard.
|
||||
To access the documentation, you'll need to spin up an instance of Homarr.
|
||||
Navigate to ``Management`` > ``Tools`` > ``API``.
|
||||
You can copy the JSON url into your OpenAPI client or try out the endpoints directly from your browser.
|
||||
|
||||
## Authentication
|
||||
Many endpoints will require you to authenticate. At the top of the API reference, you'll find a button to authenticate yourself with an API key.
|
||||
You can obtain API keys from the "Authentication" tab at the top of the page.
|
||||
API keys will not expire and can be used indefinitely.
|
||||
|
||||
### API Key Format
|
||||
API keys are provided in the format `<id>.<token>`. When making requests, include the key in the `ApiKey` header:
|
||||
|
||||
```
|
||||
ApiKey: abc123def456.xyz789tokenvalue...
|
||||
```
|
||||
|
||||
### Supported Endpoints
|
||||
API key authentication works with both endpoint types:
|
||||
|
||||
| Endpoint Type | Path Pattern | API Key Support |
|
||||
|--------------|--------------|-----------------|
|
||||
| OpenAPI | `/api/...` | ✅ Supported |
|
||||
| tRPC | `/api/trpc/...` | ✅ Supported |
|
||||
|
||||
If no API key is provided, Homarr falls back to session cookie authentication (for browser-based access).
|
||||
|
||||
### Usage Examples
|
||||
|
||||
**OpenAPI endpoint:**
|
||||
```bash
|
||||
curl -H 'ApiKey: <id>.<token>' http://localhost:7575/api/health/live
|
||||
```
|
||||
|
||||
**tRPC endpoint:**
|
||||
```bash
|
||||
curl -H 'ApiKey: <id>.<token>' http://localhost:7575/api/trpc/app.all
|
||||
```
|
||||
|
||||
### Use Cases
|
||||
API key authentication enables programmatic access for:
|
||||
- Automation scripts and CI/CD pipelines
|
||||
- Third-party integrations
|
||||
- Custom dashboards and monitoring tools
|
||||
- Container orchestration systems that need to sync app definitions
|
||||
|
||||
## Specification
|
||||
|
||||
:::info
|
||||
|
||||
This section is automatically being updated hourly.
|
||||
Last update:
|
||||
``TEST`` <!-- OPEN_API_SPEC_LAST_UPDATED -->
|
||||
|
||||
:::
|
||||
|
||||
<ApiReferenceReact
|
||||
configuration={{
|
||||
url: "/api/open-api-schema.json",
|
||||
theme: "kepler",
|
||||
hideModels: false,
|
||||
hideDownloadButton: false,
|
||||
}}
|
||||
/>
|
||||
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 33 KiB |
@@ -0,0 +1,53 @@
|
||||
---
|
||||
title: Apps
|
||||
tags:
|
||||
- Management
|
||||
- Apps
|
||||
- Bookmarks
|
||||
- Ping
|
||||
---
|
||||
|
||||
Apps are the building blocks of your Homarr board.
|
||||
Most of the time they are a simple link to a website, but used on your board they also support a simple ping to check if your service is up.
|
||||
Apps are used in the bookmark and app widget.
|
||||
|
||||
## Create an app
|
||||
|
||||
To create an app you can click on the button on the top right of the apps management page:
|
||||
|
||||

|
||||
|
||||
Next, you'll need to fill out the required fields to configure the app:
|
||||
|
||||

|
||||
|
||||
### Name
|
||||
|
||||
The name must be at least one character long and can be chosen freely.
|
||||
|
||||
### Icon URL
|
||||
|
||||
This is the URL to the icon that will be displayed on the app widget.
|
||||
It can be a url to an image in the internet, one from the included icon repositories or a local file uploaded through the upload button.
|
||||
|
||||

|
||||
|
||||
### Description
|
||||
|
||||
An optional description that can be shown as tooltip on the app widget.
|
||||
|
||||
### URL
|
||||
|
||||
The URL to the website you want to link to. Clicking on the app widget or bookmark will open this URL.
|
||||
|
||||
### Ping URL
|
||||
|
||||
When you want to use another url for the simple status check you can set it here.
|
||||
This will allow you to set a different URL for the ping than the URL that is opened when clicking on the app widget.
|
||||
It's useful when you want to ping the service internally for example with a custom ip but open the website externally.
|
||||
|
||||
## List of apps
|
||||
|
||||
On the apps management page you find all apps that exist in your Homarr instance. You can edit and delete them.
|
||||
|
||||

|
||||
|
After Width: | Height: | Size: 92 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 5.9 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 111 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 7.9 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 5.9 KiB |
|
After Width: | Height: | Size: 15 KiB |
@@ -0,0 +1,258 @@
|
||||
---
|
||||
title: Boards
|
||||
tags:
|
||||
- Management
|
||||
- Boards
|
||||
- Customization
|
||||
- Edit mode
|
||||
- Responsive
|
||||
- Layout
|
||||
---
|
||||
|
||||
import iconColorImage from './img/icon-color.png'
|
||||
import itemRadiusImage from './img/item-radius.png'
|
||||
import layoutLargeImage from './img/layout-large.png'
|
||||
import layoutMediumImage from './img/layout-medium.png'
|
||||
import layoutSmallImage from './img/layout-small.png'
|
||||
|
||||
Each dashboard is called a "board".
|
||||
You can create as many boards as you want.
|
||||
Boards can be restricted to user groups.
|
||||
A user may also have a "home board" which they will see at the root path (e.g. my-homarr.com or my-homarr.com/board).
|
||||
Other boards can be viewed by direct links (e.g. my-homarr.com/board/smart-home) or via the management pages.
|
||||
|
||||
Names of boards must be unique because this will be used in the URL to load the desired board.
|
||||
|
||||
## Create a new board
|
||||
When creating a board, the availability of the board name will be checked for you.
|
||||
|
||||

|
||||
|
||||
### Name
|
||||
The name must not include any special characters and must be at least one character long.
|
||||
Underscores and hyphen-minus are allowed.
|
||||
|
||||
### Column count
|
||||
Homarr has a complex drag and drop system that can be used from the browser.
|
||||
The column count defines how many horizontal columns are available to drag and drop elements to.
|
||||
|
||||
### Public
|
||||
This will enable public access for everyone - regardless of whether they are logged in or not.
|
||||
This can be really useful if you want to have public boards in your company or for family and fiends.
|
||||
Modifications for public boards must be allowed explicitly using user groups and their permissions.
|
||||
|
||||
## Board settings
|
||||
You navigate to the board settings by clicking on these three dots:
|
||||
|
||||

|
||||
|
||||
Alternatively, you can also navigate from the board page itself using the cog icon at the top right:
|
||||
|
||||

|
||||
|
||||
### General
|
||||
#### Page title
|
||||
This is the title that will be visible at the top left in the navigation bar:
|
||||
|
||||

|
||||
|
||||
This field is optional and Homarr will fall back to "Homarr" if nothing is set.
|
||||
|
||||
#### Meta title
|
||||
This is the secondary title of the page that is not directly visible in the page itself.
|
||||
Browser will use it to set the title of tabs:
|
||||
|
||||

|
||||
|
||||
Homarr will fall back to the board name and a suffix if nothing is set.
|
||||
|
||||
#### Logo image URL
|
||||
This is the URL that is used for the image at the top left.
|
||||
Homarr will fall back to the Homarr logo if nothing is set.
|
||||
|
||||
#### Favicon image URL
|
||||
This is the URL that is used for the favicon in the tab title.
|
||||
Homarr will fall back to the Homarr logo if nothing is set.
|
||||
|
||||
### Layout
|
||||
|
||||
In this section you can configure the different responsive layouts. Depending on your screens width the layout will change.
|
||||
|
||||

|
||||
|
||||
On each element the position and size of items can be changed seperately.
|
||||
When adding a new layout the position and sizes will automatically be generated depending on the column count.
|
||||
When adding a new item / dynamic section that will always be 1x1 on each layout and placed on the first available position.
|
||||
|
||||
#### Name
|
||||
|
||||
The name of the layout can be choosen freely. It is only used for the management and will not be visible on the board.
|
||||
|
||||
#### Column count
|
||||
|
||||
Amount of columns for this layout. Defines how many items can be placed in a row. When changed it will automatically adjust the position and size of the items.
|
||||
|
||||
#### Breakpoint
|
||||
|
||||
Minimum width of the screen where the layout will be used.
|
||||
Once the minmum of the next layout is reached the layout will change.
|
||||
|
||||
#### Preview
|
||||
|
||||
<img src={layoutSmallImage} height={256} />
|
||||
<img src={layoutMediumImage} height={256} />
|
||||
<img src={layoutLargeImage} height={256} />
|
||||
|
||||
### Background
|
||||
#### Background image URL
|
||||
Homarr can display a background image behind apps and widgets.
|
||||
This URL can be used to define what image should be shown.
|
||||
|
||||
#### Background image attachment
|
||||
This defines whether the background should move when the user scrolls.
|
||||
|
||||
#### Background image size
|
||||
This defines whether the background should cover the entire page (and possibly be cropped) or never be cropped but may not cover the entire page.
|
||||
|
||||
#### Background image repeat
|
||||
This defines whether the background should be repeated if it cannot cover the entire page.
|
||||
This option can be useful if you have patterns that can be repeated easily (e.g. patterns):
|
||||
|
||||

|
||||
|
||||
### Appearance
|
||||
#### Primary color
|
||||
Color that can be chosen freely to give accents to active elements.
|
||||
#### Secondary color
|
||||
Color that can be chosen freely to give accents.
|
||||
#### Opacity
|
||||
Opacity of the colors.
|
||||
#### Icon color
|
||||
Change the color of your bookmark / app icons.
|
||||
|
||||
<img src={iconColorImage} height={100} />
|
||||
|
||||
#### Item radius
|
||||
Change the radius of your items / categories.
|
||||
|
||||
<img src={itemRadiusImage} height={100} />
|
||||
|
||||
|
||||
### Custom CSS
|
||||
This is the field where you can enter custom CSS.
|
||||
The styling will only be applied on the respective board page.
|
||||
|
||||
[See this guide on how to work with custom CSS](/docs/advanced/styling/).
|
||||
|
||||
### Behaviour
|
||||
|
||||
#### Disable app status
|
||||
This will disable the status check for apps.
|
||||
|
||||
### Access control
|
||||
With the access control, you can permit a single user or a group to your board.
|
||||
The users and groups can have one of these three levels of access:
|
||||
|
||||
| **Permission Level** | View board | Edit mode | Settings | Danger zone (eg. delete) |
|
||||
|----------------------|------------|-----------|----------|--------------------------|
|
||||
| View board | X | | | |
|
||||
| Modify board | X | X | X | |
|
||||
| Full access | X | X | X | X |
|
||||
|
||||
The permission level can only be changed after adding the user / group:
|
||||
|
||||

|
||||
|
||||
If the board is private and the user is not added in any of the three tabs, they cannot access the board.
|
||||
They also do not see the board on the start page nor do they have access to any links for the board.
|
||||
|
||||
Groups that have high permissions (e.g. administrator or all board permissions) will be shown as "inherited".
|
||||
They are permitted implicitly due to their permissions.
|
||||
|
||||
After editing permissions, the save button below the table must be pressed.
|
||||
Otherwise, all changes will be discarded.
|
||||
|
||||
### Danger zone
|
||||
#### Rename
|
||||
Renaming a board will break all existing links to it permanently with no redirect.
|
||||
|
||||
#### Board visibility
|
||||
By default, boards will be private. This means only authenticated users that are authorized have access.
|
||||
Making a board public will expose it to everyone - including unauthenticated users.
|
||||
|
||||
#### Delete
|
||||
This will permanently delete the board.
|
||||
This action is irreversible and cannot be undone.
|
||||
|
||||
## Delete boards
|
||||
The deletion of boards is permanent and cannot be undone.
|
||||
There are two ways to delete a board:
|
||||
|
||||
- Navigate to the settings of your board, open the "Danger zone" dropdown and click on the "delete this board" button.
|
||||
- Navigate to the list of boards in the management pages, click the three dots and click on "delete permanently".
|
||||
|
||||
Both actions will execute the same deletion process.
|
||||
|
||||
## Duplicate boards
|
||||
|
||||
:::note
|
||||
Duplicating a board will not copy the users and groups that have access to the board
|
||||
nor the integrations the user does not have access to.
|
||||
:::
|
||||
|
||||
Duplicating a board will create a new board with the same settings and layout as the original board.
|
||||
You can duplicate a board by clicking on the three dots in the list of boards and selecting "Duplicate board".
|
||||
|
||||

|
||||
|
||||
## Setting boards as your home board
|
||||
The home board is the dashboard, that will be shown at the root path of Homarr or if no board name was passed in the URL.
|
||||
All the following paths will lead to the home board:
|
||||
- ``my-homarr.com``
|
||||
- ``my-homarr.com/boards``
|
||||
|
||||
Your home board will have a special small badge at the top right in the list of boards:
|
||||
|
||||

|
||||
|
||||
### For yourself
|
||||
To set the home board yourself, the easiest option is to set it directly in the list of boards:
|
||||
|
||||

|
||||
|
||||
Alternatively, you can also define it via your user profile:
|
||||
1. Click on your user profile at the top right
|
||||
2. Click on ``Your preferences``
|
||||
3. Change the home board in the ``home board`` dropdown and click on ``Save``.
|
||||
|
||||
### For other users
|
||||
|
||||
1. Navigate to the users: ``Management`` > ``Users`` > ``Manage``
|
||||
2. Click on the username of the user that you want to adjust
|
||||
3. Select the desired home board via the dropdown and click on ``Save`` \
|
||||

|
||||
|
||||
### For user groups
|
||||
|
||||
1. Navigate to the user groups: ``Management`` > ``Users`` > ``Groups`` > ``Manage``
|
||||
2. Go to tab ``Settings``
|
||||
3. Select the desired home board via the dropdown and click on ``Save`` \
|
||||

|
||||
|
||||
### For whole server
|
||||
|
||||
You can also set a global home board that will be used for all users that have not set a home board themselves.
|
||||
It will also be used for anonymous users.
|
||||
|
||||
1. Navigate to the settings: ``Management`` > ``Settings`` > ``Boards``
|
||||
2. Select the desired home board via the dropdown and click on ``Save`` \
|
||||

|
||||
|
||||
:::note
|
||||
For the global home board you can only select boards that are public.
|
||||
:::
|
||||
|
||||
### Mobile home board
|
||||
|
||||
Same as the home board, you can also set a mobile home board.
|
||||
It will be used for devices that are detected as mobile devices. (Using User-Agent header)
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 50 KiB |
@@ -0,0 +1,65 @@
|
||||
---
|
||||
tags:
|
||||
- Administration
|
||||
- Self signed
|
||||
- Certificates
|
||||
- Integration
|
||||
---
|
||||
|
||||
# Certificates
|
||||
On this page you can manage your trusted certificates.
|
||||
For example if you use a self signed certificate for one of the integrations you want to connect, you can add it here.
|
||||
|
||||
Below you can see a screenshot of the certificates page.
|
||||
The items show the subject, filename and when it expires.
|
||||
The color of the icon indicates how long it is valid.
|
||||
|
||||

|
||||
|
||||
| Color | Meaning |
|
||||
| --- | --- |
|
||||
| 🟩 Green | Valid for more than 30 days |
|
||||
| 🟨 Yellow | Valid for less than 30 days |
|
||||
| 🟧 Orange | Valid for less than a week |
|
||||
| 🟥 Red | Valid for less than a day |
|
||||
|
||||
|
||||
## Opening the certificates page
|
||||
Navigate to ``Management`` > ``Tools`` > ``Certificates``.
|
||||
|
||||
## Add a certificate
|
||||
To add a certificate click on the "Add certificate" button.
|
||||
|
||||

|
||||
|
||||
Then select the certificate file you want to add.
|
||||
|
||||

|
||||
|
||||
And click the "Add" button.
|
||||
|
||||
## Delete a certificate
|
||||
|
||||
To delete a certificate you can click on the trash icon in the certificate card.
|
||||
|
||||

|
||||
|
||||
Then confirm the deletion.
|
||||
|
||||
## Managing it through file system
|
||||
|
||||
The certificates are stored in the `/appdata/trusted-certificates` directory which is mounted through `/appdata`.
|
||||
This means you can automate the update of the certificates by simply replacing or adding a new file in the directory.
|
||||
|
||||
## Obtaining certificates
|
||||
|
||||
Every integration has its own way of obtaining certificates.
|
||||
Generally it is recommended to search for the documentation of the integration you are using.
|
||||
Most of the time you can find the certificate in the file system of the integration.
|
||||
Below you can find instructions for some of the integrations.
|
||||
|
||||
### Pi-hole (v6)
|
||||
|
||||
Since version 6 of Pi-hole, the web interface can be accessed through HTTPS.
|
||||
The certificate can be found in the path `/etc/pihole/tls_ca.crt`. To add the certificate, this file needs to be copied and uploaded to Homarr.
|
||||
You can find more details regarding SSL / TLS for Pi-hole [here](https://docs.pi-hole.net/api/tls/).
|
||||
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 15 KiB |
@@ -0,0 +1,98 @@
|
||||
---
|
||||
tags:
|
||||
- Integrations
|
||||
- Data sources
|
||||
- Connections
|
||||
---
|
||||
|
||||
# Integrations
|
||||
Integrations are connections to supported third party applications.
|
||||
This page will describe the process of managing integrations but the process may vary depending on your specific integration.
|
||||
Check [the available integrations](/docs/category/integrations) for further information.
|
||||
|
||||
## Create an integration
|
||||
To create an integration, you can choose the supported application from the dropdown at the top right:
|
||||
|
||||

|
||||
|
||||
Next, you'll need to fill out the required fields to configure the integration:
|
||||
|
||||

|
||||
|
||||
### Name
|
||||
Must be at least 1 character long, can be chosen freely.
|
||||
|
||||
### Url
|
||||
This must be the base URL of the application where Homarr should connect to.
|
||||
A few examples for this field include:
|
||||
- http://sabnzbd.example.com
|
||||
- https://example.com/sabnzbd
|
||||
|
||||
You must not append any path after the base URL. Some examples for incorrect usage:
|
||||
- http://sabnzbd.example.com/settings
|
||||
- https://example.com/sabnzbd/settings
|
||||
|
||||
### Secrets
|
||||
An integration may or may not require secrets to function.
|
||||
To process to obtain them is usually [documented in the integration pages](/docs/category/integrations).
|
||||
Secrets are encrypted using a symmetric encryption and stored in the database.
|
||||
To improve security, they will never be passed to the client and requests to the integrations are performed from the host where Homarr is running on.
|
||||
|
||||
### Linking applications
|
||||
|
||||
During the creation of an integration you can choose to add / link an application to the integration.
|
||||
If you want to add one, you can simply specify the app url which will be used for opening the application from Homarr.
|
||||
The linked application will also be used for any links the integration widget contains.
|
||||
If you already have an application created, you can also link it to the integration by selecting it from the dropdown.
|
||||
On the edit page you can always change or remove the linked application.
|
||||
|
||||
### Testing and saving integration
|
||||
It is not allowed to create an integration without passing the test.
|
||||
This is to ensure that you minimize the amount of broken applications on your Homarr instance.
|
||||
The test and create button will perform a network request to the application and authenticate if required.
|
||||
|
||||
## Managing permissions
|
||||
|
||||
On the edit page of an integration, you can manage which users / groups can
|
||||
|
||||
- **Select the integration in items:** Allows users to select the integration and showing data on their board.
|
||||
- **Interact with the integration:** Allows users to perform actions on the integration, such as pausing a download.
|
||||
- **Full control over the integration:** Allows users to modify the integration properties, including the URL and secrets.
|
||||
|
||||

|
||||
|
||||
## Troubleshooting connection
|
||||
The connection to your integrations can fail due to many factors. Most of the time it should show you the reason why it failed.
|
||||
If it doesn't, you can follow these steps to troubleshoot the issue:
|
||||
|
||||
1. Check whether you are using the correct URL and secrets.
|
||||
- The URL must be the base URL of the application, **without any paths**.
|
||||
- The secrets must be correct and have the correct permissions.
|
||||
2. If you use https to connect to the application, check the chapter below about [certificate issues](#certificate-issues).
|
||||
3. Check whether you followed the Homarr documentation and didn't skip any steps.
|
||||
This is the most often mistake that create many noisy support requests and following all steps will often resolve the problems.
|
||||
4. Check Homarr's logs for more information. As we have no control over breaking changes in upstream APIs and third party software,
|
||||
they can break without notice in unexpected ways which can also lead to errors within Homarr. In such case, these occurrences must be reported
|
||||
and fixed within the source code of Homarr.
|
||||
5. Check whether the host can reach the destination hostname / IP using ``ping`` and ``curl`` or ``wget`` afterward.
|
||||
Execute this command on the host machine, not inside containers, to check whether it can connect or not.
|
||||
6. Check whether the container / pod can reach the destination hostname / IP. Execute the same commands in the shell inside the container / pod.
|
||||
7. Check your reverse proxy / authentication proxy logs for failures / hints
|
||||
8. Check your security log of tunnels and VPNs
|
||||
9. Check your router for security events
|
||||
10. Check your VLAN configuration and firewall rules
|
||||
11. Check your DNS settings for the host machine and the containers / pods and whether they can resolve the hostnames
|
||||
12. Check throughput and stability of your network connection using ``iperf3``
|
||||
13. Check syslog / drivers of your OS for hints
|
||||
14. Check logs of your destination applications (eg. SABnzbd)
|
||||
15. Attempt to disable CSRF / tamper protections when absolutely no other workaround available -> this comes with some security implications - be careful!
|
||||
Re-enable if this didn't fix the issue.
|
||||
|
||||
If none of these troubleshooting steps worked, you can request support from our team in Discord or GitHub.
|
||||
|
||||
### Certificate issues
|
||||
|
||||
If you are using a self-signed certificate you'll need to add it to the [trusted certificates](../certificates) in Homarr.
|
||||
Most of the time you should also get a button to add the certificate automatically when you try to connect to the integration.
|
||||
Please check that the certificate is the one you are expecting to prevent Man in the Middle attacks.
|
||||
For some integrations, you can find a guide on how to retrieve the certificate [here](../certificates/#obtaining-certificates).
|
||||
|
After Width: | Height: | Size: 33 KiB |
@@ -0,0 +1,13 @@
|
||||
---
|
||||
tags:
|
||||
- Administration
|
||||
- Media
|
||||
- Uploads
|
||||
- Icons
|
||||
---
|
||||
|
||||
# Media
|
||||
Using the media feature, you can upload images for custom icons to Homarr.
|
||||
Images will be stored in the database. They can be selected in the [icon picker](/docs/advanced/icons).
|
||||
|
||||

|
||||
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,62 @@
|
||||
---
|
||||
tags:
|
||||
- Search engines
|
||||
- Google
|
||||
- Search
|
||||
---
|
||||
|
||||
# Search Engines
|
||||
Using the search engines, terms can be quickly searched simply by opening the search bar at the top or using the keyboard shortcut `CTRL + K`.
|
||||
|
||||

|
||||
|
||||
You can add any search engine that has a search URL that accepts a search term as a parameter.
|
||||
|
||||
## Create search engine
|
||||
To create a custom search engine, you can click the button at the top of the page.
|
||||
|
||||

|
||||
|
||||
### Name
|
||||
The name can be chosen freely. It will be displayed in the search box popover.
|
||||
|
||||
### Short
|
||||
Prefix that is used to choose the search engine in the popover using the keyboard.
|
||||
It is recommended that this value is kept short (for example ``g`` for Google and ``e`` for Ecosia).
|
||||
|
||||
### Configuration
|
||||
|
||||
In the configuration section you can select between two options.
|
||||
|
||||
#### Search template
|
||||
The template must be a valid URL that incldues the ``%s`` placeholder.
|
||||
Homarr will replace the ``%s`` with the term that the user entered.
|
||||
|
||||
##### Examples
|
||||
- Google: ``https://www.google.com/search?q=%s``
|
||||
- Ecosia: ``https://www.ecosia.org/search?q=%s``
|
||||
- DuckDuckGo: ``https://duckduckgo.com/?q=%s``
|
||||
- Bing: ``https://www.bing.com/search?q=%s``
|
||||
- YouTube: ``https://www.youtube.com/results?search_query=%s``
|
||||
|
||||
## Media request search
|
||||
|
||||
Jellyseerr, Overseerr, and Seerr integrations have a dedicated **Spotlight mode** for searching and requesting media.
|
||||
This mode does not require creating a search engine entry — it is available automatically when you have a compatible integration configured.
|
||||
|
||||
You can access it from:
|
||||
- The **Modes list** in Spotlight (opened with `CTRL + K`)
|
||||
- The **search button** on the media request list and stats widgets
|
||||
|
||||
### Availability indicators
|
||||
|
||||
Search results display colored status badges showing the media's current state in your integration:
|
||||
- **Available** — fully available in your media library
|
||||
- **Partial** — some content (e.g. seasons) is available
|
||||
- **Processing** — currently being downloaded or processed
|
||||
- **Requested** — requested but not yet available
|
||||
|
||||
### Requesting TV show seasons
|
||||
|
||||
For partially available TV shows, you can request additional seasons.
|
||||
The request modal shows which seasons are already requested (marked with a status badge and not selectable), so you can select only the missing seasons.
|
||||
@@ -0,0 +1,105 @@
|
||||
---
|
||||
tags:
|
||||
- Settings
|
||||
- SEO
|
||||
- Analytics
|
||||
- Security
|
||||
- Server
|
||||
- Administration
|
||||
---
|
||||
|
||||
# Settings
|
||||
The settings page has a few options that will be applied to the entire Homarr application.
|
||||
They may require a full page reload for changes to apply.
|
||||
|
||||
## Analytics
|
||||
By default, Homarr is collecting anonymous analytics to identify issues and prioritize bugfixes and improvements.
|
||||
The data is never shared with any third-parties and is fully GDPR & CCPA compliant.
|
||||
The software being used is [Umami Analytics](https://umami.is/) which is fully open source.
|
||||
The main server software can be found [here](https://github.com/umami-software/umami) and [this node library](https://github.com/umami-software/node) to perform server side calls to the API.
|
||||
|
||||
A full list of the collected data by default can be found here: https://umami.is/docs/metric-definitions.
|
||||
|
||||
We understand that you might not want Homarr to communicate with our services.
|
||||
By unchecking the ``Send anonymous analytics`` checkbox and reloading the full page, all communication by Umami will be disabled and no data will be collected.
|
||||
If you are paranoid, you can permanently block ``umami.homarr.dev`` from your DNS / firewall.
|
||||
|
||||
Additionally, you opt in to more data collection to help us provide more useful data.
|
||||
|
||||
### Integration data
|
||||
Enabling this optional data will send the types of integrations (e.g. SABnzbd, Sonarr, ...) and how many you have configured of them.
|
||||
This will not include any URLs, names, secrets, errors and others. This is disabled by default.
|
||||
|
||||
### Widget data
|
||||
Enabling this optional data will send the types of widgets (e.g. downloads, media streams, iframe, ...) and how many you have configured of them.
|
||||
This will not include any URLs, names, secrets, errors and others. This is disabled by default.
|
||||
|
||||
### Users data
|
||||
Enabling this optional data will send the count of users and whether you activated SSO.
|
||||
This will not include any usernames, passwords, emails, URLs, authentication flows or client IDs.
|
||||
This is disabled by default.
|
||||
|
||||
## Search Engine Optimization (SEO)
|
||||
Big companies [like Google, Microsoft, Baidu and Yandex](https://de.wikipedia.org/wiki/Web-Index) will use [web crawlers](https://de.wikipedia.org/wiki/Webcrawler) to index the Internet for new websites & pages.
|
||||
This is desirable in many cases (for example when selling products in an online shop) but can lead to unwanted traffic and attention to your personal dashboard.
|
||||
Homarr is requesting the crawlers to not index Homarr instances by default for this reason.
|
||||
If you use Homarr as a public website and want it to be searchable on these search engines, you can disable these settings.
|
||||
Please note that Homarr doesn't have control over what the crawlers do; it is a mere request to them to not perform these actions but will not guarantee that your website doesn't land on some index.
|
||||
|
||||
### No index
|
||||
This will ask crawlers to not index your Homarr instance on any indexes.
|
||||
It is up to the crawler to properly respect this request.
|
||||
By default, this setting is enabled. Disabling it will allow indexing.
|
||||
|
||||
### No follow
|
||||
If indexing is allowed, crawlers will also attempt to follow any links on your page to further "discover" new parts of the Internet and on your website.
|
||||
By default, this setting is enabled and will ask crawlers to not follow any links.
|
||||
Crawler of different companies may behave differently when indexing is prohibited and following is allowed.
|
||||
|
||||
### No translate
|
||||
Google and Chrome on Android will prompt users to translate pages that are not in their device language.
|
||||
This can lead to some shifting and can be undesired in some cases. By enabling this,
|
||||
you ask crawlers to never translate and never prompt users for translation.
|
||||
It should be noted that some browsers will ignore this and translate regardless.
|
||||
|
||||
### No site links search box
|
||||
This setting is exclusive to Google.
|
||||
[Google will create a box below your domain](https://developers.google.com/search/docs/appearance/structured-data/sitelinks-searchbox) that lists the paths that were discovered by the "folowing".
|
||||
The user can search them directly in Google.
|
||||
You can ask the crawlers to not allow searches by enabling this setting.
|
||||
This setting is disabled by default.
|
||||
|
||||
## Boards
|
||||
|
||||
### Global home board
|
||||
You can set a global home board that will be used for all users that have not set a home board themselves.
|
||||
It will also be used for anonymous users.
|
||||
Note that the board must be public to be used as a global home board.
|
||||
|
||||
### Global mobile board
|
||||
|
||||
You can set a global mobile board. It will be shown instead of the global home board on mobile devices that can be detected by Homarr. (Using the User-Agent header).
|
||||
It will similar to the global home board be as fallback for normal users and for any anonymous users.
|
||||
It also has to be public.
|
||||
|
||||
### App status
|
||||
|
||||
#### Enable status by default
|
||||
|
||||
You can decide if the app status should be enabled by default when adding a new app to the board.
|
||||
|
||||
#### Force disable status
|
||||
|
||||
You can decide if the app status should be disabled for all boards.
|
||||
|
||||
###
|
||||
|
||||
## Appearance
|
||||
|
||||
### Default color scheme
|
||||
You can set the default color scheme for all users that have not set a color scheme themselves.
|
||||
|
||||
## Culture
|
||||
|
||||
### Default language
|
||||
You can set the default language for all users that have not set a language themselves.
|
||||
|
After Width: | Height: | Size: 331 KiB |
@@ -0,0 +1,43 @@
|
||||
---
|
||||
tags:
|
||||
- Background
|
||||
- Jobs
|
||||
- Tasks
|
||||
---
|
||||
|
||||
# Tasks
|
||||
|
||||
Homarr has background jobs for various tasks, most of them are for realtime widget updates.
|
||||
The tasks page allows you to run background jobs manually and configure them.
|
||||
|
||||

|
||||
|
||||
## Opening the tasks page
|
||||
|
||||
Navigate to `Management` > `Tools` > `Tasks`.
|
||||
The page is only accessible to users with admin permission.
|
||||
|
||||
## Changing interval
|
||||
|
||||
In the column `Schedule interval` you can change the interval in which the task runs.
|
||||
Different intervals are available, such as `1 minute`, `5 minutes`, `10 minutes`, `30 minutes`, and `1 hour`.
|
||||
All intervals are cron expressions, which means it will run the next time the cron expression matches the current time.
|
||||
|
||||
## Actions
|
||||
|
||||
You can find different actions for each task on the right side of a task item.
|
||||
|
||||
### Run Manually
|
||||
|
||||
To run a task manually, click the "Play" button, which will execute the task immediately.
|
||||
During the exection the badge will show `Running`.
|
||||
|
||||
### Disabling / Enabling
|
||||
|
||||
You can disable a task by clicking the "Power" button, which will change it to a "Power-Off" button.
|
||||
When a task is disabled, it will not run automatically according to its schedule.
|
||||
You can enable it again by clicking the "Power-Off" button, which will change it back to a "Power" button.
|
||||
Running a task manually is still possible when it is disabled.
|
||||
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 8.9 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 22 KiB |
@@ -0,0 +1,202 @@
|
||||
---
|
||||
title: Users
|
||||
tags:
|
||||
- Users
|
||||
- Roles
|
||||
- Permissions
|
||||
- Groups
|
||||
---
|
||||
|
||||
# Users
|
||||
|
||||
Each person accessing Homarr is a user. Using the users management you can configure who has access to certain resources.
|
||||
A user may have multiple sessions on different devices and can log in from multiple locations at the same time.
|
||||
A user can be assigned to multiple groups.
|
||||
|
||||
:::tip
|
||||
|
||||
Homarr supports [single sign on for easier and seamless authentication](/docs/advanced/single-sign-on) (e.g. Authelia).
|
||||
|
||||
:::
|
||||
|
||||
## Manage users
|
||||
### Creating new users
|
||||
To create new users, you must navigate to ``Mangement`` > ``Users`` > ``Manage`` and click on the create button to create a new one: \
|
||||

|
||||
|
||||
You'll be guided through the process using a wizard: \
|
||||

|
||||
|
||||
The username and Email must be unique. A username is required.
|
||||
When creating a password, you must meet the password requirements: \
|
||||

|
||||
|
||||
After you completed all steps, you can start over to create another user or choose to go back to the list: \
|
||||

|
||||
|
||||
## Editing a user
|
||||
A user can be edited on the ``Mangement`` > ``Users`` > ``Manage`` page when you click on the username.
|
||||
Here you'll have access to two tabs: **General** and **Security**.
|
||||
|
||||
### General tab
|
||||
#### Username
|
||||
This is the unique username that identifies this user. It can be changed to anything but must be at least 3 characters long with a limit of 255 characters.
|
||||
This name will be used for the credential's login. It is also used to auto-generate profile pictures if no picture was uploaded.
|
||||
|
||||
#### E-Mail
|
||||
This is the unique email of the user. As of 1.0, it is not used for any notifications and only for organizational purposes.
|
||||
This field is optional.
|
||||
|
||||
#### Language
|
||||
This is the currently selected language of the user.
|
||||
Changing the language will change all text & the right to left (RTL) feature in some languages.
|
||||
By default, Homarr will choose English as the default language. Here you can override the language for this specific user.
|
||||
The user may choose a different language by themselves afterward.
|
||||
|
||||
#### Home board
|
||||
Optional field for the board that is loaded by default if no board was specified in the URL.
|
||||
Only boards that the user has permission to are being shown.
|
||||
|
||||
#### Search
|
||||
|
||||
Options to configure default search engine of user and whether to open search results in a new tab.
|
||||
|
||||
#### First day of the week
|
||||
|
||||
Choose the first day of the week for the user. This will affect the calendar widget.
|
||||
|
||||
#### Accessibility
|
||||
|
||||
Option to show icons for status check instead of colored dots.
|
||||
|
||||
#### Delete
|
||||
This action will permanently delete the user from the database, including any preferences they set.
|
||||
If the user created boards, they wil **not** be deleted.
|
||||
This action is **irreversible** and cannot be undone. All data is permanently lost.
|
||||
|
||||
### Security tab
|
||||
|
||||
#### Change password
|
||||
Here the password for this user can be changed.
|
||||
It must also meet the password requirements of Homarr.
|
||||
The password is stored as an encrypted value with a salt in the database - this means the value cannot be read out from the database afterward.
|
||||
You must take care of sending the new password to the user.
|
||||
This functionality can also be useful to lock out a bad actor without tampering with any data (except the password hash).
|
||||
For security reasons, you must confirm the password a second time.
|
||||
|
||||
## Groups
|
||||
Using groups, you can manage the permissions of users.
|
||||
Members can be directly assigned to groups.
|
||||
|
||||
A user will have the permissions of all groups they are a member of.
|
||||
Some permissions include other permissions, for example the "Full board access" permission includes all board permissions.
|
||||
|
||||
By default, a group called "credentials-admin" will be generated where the first user will be placed.
|
||||
However, you can create as many groups as you'd like.
|
||||
|
||||
### Creating a group
|
||||
Click on the button ``New group`` to create a new one.
|
||||
Homarr will prompt you for a group name.
|
||||
|
||||
### Managing a group
|
||||
#### General tab
|
||||
##### Name
|
||||
Name for the group that can be chosen freely.
|
||||
|
||||
##### Transfer ownership
|
||||
Every group has an owner. Using this button, the ownership can be transferred to a different user.
|
||||
Group ownership is only organizational.
|
||||
|
||||
##### Delete
|
||||
Deletes the group permanently. This change is irreversible.
|
||||
|
||||
#### Settings tab
|
||||
In this tab, you can configure some settings for the group. Those settings will be prioritized by the order of the groups on the groups list page
|
||||
|
||||
##### Priorization
|
||||
The higher a group in the list, the higher the priority. This means that if a user is in multiple groups, the permissions of the group with the highest priority will be used.
|
||||
It will always fallback to the everyone group if no other group permissions are set.
|
||||
|
||||

|
||||
|
||||
##### Boards
|
||||
Configure board settings for a group. User specific settings will override group settings.
|
||||
|
||||
###### Home board
|
||||
The board that is loaded by default if no board was specified in the URL.
|
||||
|
||||
###### Mobile board
|
||||
The board that is loaded by default on mobile devices.
|
||||
|
||||
#### Members tab
|
||||
In this tab, you can assign users to the group. With the button at the top right, a new member can be added to the group:
|
||||
|
||||

|
||||
|
||||
Members can be removed from the group using the remove button at the end:
|
||||
|
||||

|
||||
|
||||
#### Permissions tab
|
||||
In this tab, you manage what permissions the members of this group will have.
|
||||
Currently, the following permissions are available:
|
||||
|
||||
- Boards
|
||||
- **Create boards**: Allow members to create boards
|
||||
- **View all boards**: Allow members to view all boards
|
||||
- **Modify all boards**: Allow members to modify all boards (Does not include access control and danger zone)
|
||||
- **Full board access**: Allow members to view, modify, and delete all boards (Including access control and danger zone)
|
||||
- Integrations
|
||||
- **Create integrations**: Allow members to create integrations
|
||||
- **Use all integrations**: Allows members to add any integrations to their boards
|
||||
- **Interact with any integration**: Allow members to interact with any integration
|
||||
- **Full integration access**: Allow members to manage, use and interact with any integration
|
||||
- **Administrator**: Members with this permission have full access to all features and settings
|
||||
|
||||
When you changed permissions, you must confirm your changes by clicking the banner at the bottom:
|
||||
|
||||

|
||||
|
||||
#### Special groups
|
||||
Currently one special group exists. This group is `everyone`. It automatically adds every user that is known to Homarr to its members. Neither its name nor its members can be changed.
|
||||
|
||||
## Invites
|
||||
Invites are an easy-to-use system to allow users to onboard themselves.
|
||||
It is useful in companies or large-scale homelabs where many users must be onboarded at the same time.
|
||||
You should trust the end user that they enter their data truthfully as the administrator will not confirm the entered data after the user has completed the onboarding.
|
||||
|
||||
This feature can only be used when credentials authentication is enabled.
|
||||
An invitation link can be used indefinitely.
|
||||
|
||||
### Creating an invitation
|
||||
Click on the button:
|
||||
|
||||

|
||||
|
||||
Next, define the expiration time for this invitation. They will expire after some time and will no longer be valid.
|
||||
It must be at least 1 hour in the future and at max 6 months in the future.
|
||||
The default is 4 hours in the future.
|
||||
|
||||

|
||||
|
||||
Next, click ``Create`` and you'll get a confirmation with an ID, Token and a link that can be copied:
|
||||
|
||||

|
||||
|
||||
Both ID and Token are also in the URL. Ensure that you copy either ID & Token or the URL - it will never be shown again.
|
||||
Clicking the ``Copy & close`` button will copy the URL to your clipboard.
|
||||
|
||||
### Self-onboarding
|
||||
Clicking the invitation link will bring up a form with fields for the username and password:
|
||||
|
||||

|
||||
|
||||
At the bottom of the page, the user who created the invitation can be seen.
|
||||
|
||||
### Deleting an invitation
|
||||
If an invitation needs to be deleted before or after the expiry, the delete button at the end of the table can be used:
|
||||
|
||||

|
||||
|
||||
The link will become invalid.
|
||||
If the invitation expires, the link will also expire.
|
||||