34 KiB
| title | source | author | published | created | description | tags | |
|---|---|---|---|---|---|---|---|
| Homarr documentation | https://homarr.dev/docs/management/api/ | 2026-04-19 | Using the Homarr API, you can interface with the application with your own code and business logic. |
|
Version: 1.59.2
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, Insomnia or Hoppscotch.
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 Swagger documentation, you'll find a button to authenticate yourself with a 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:
curl -H 'ApiKey: <id>.<token>' http://localhost:7575/api/health/live
tRPC endpoint:
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] -info info
This section is automatically being updated hourly. Last update:
TEST
Homarr API documentation1.0.0OAS 3.1
Servers
source: "https://homarr.dev/docs/integrations/docker/"
description: "Docker is a platform where you can run your applications in containers, allowing for easy deployment and management of applications."
!
Docker
Containers Docker is a platform where you can run your applications in containers, allowing for easy deployment and management of applications.
Widgets & Capabilities
Docker statsStats of your containersThis widget can only be used with administrator privileges Details
Enabling the Docker integration
This integration must first be enabled. If you directly run on the host system and you have docker installed, it will be enabled by default. Otherwise, you'll need to mount the docker socket to the Homarr container, so Homarr can interact with the Docker service. In Docker Compose, you can simply add this line:
#---------------------------------------------------------------------#
# Homarr - A simple, yet powerful dashboard for your server. #
#---------------------------------------------------------------------#
services:
homarr:
container_name: homarr
image: ghcr.io/homarr-labs/homarr:latest
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock # <--- add this line here!
- ./homarr/appdata:/appdata
environment:
- SECRET_ENCRYPTION_KEY=your_64_character_hex_string # <--- can be generated with \`openssl rand -hex 32\`
ports:
- '7575:7575'
With docker run, add this parameter: `-v /var/run/docker.sock:/var/run/docker.sock`. In Windows, you'll need to adjust the slashes: `-v //var/run/docker.sock:/var/run/docker.sock`
### Managing your Docker containers within Homarr
Homarr allows you to interact with Docker containers running on your system. You can **restart**, **stop**, **start**, **refresh** and **remove** containers. A search also allows you to search through your containers.
Additionally, if you have a lot of containers you can search and filter them by **container** or **image** name:
![[01d1441e18efd5d0f8d27889d8e974b8_MD5.png]]
#### Add apps from containers
Homarr also lets you add apps from containers. You can simply select all containers you want to add an app for and then click the `Add to Homarr` button. This will open a dialog where you can specify the web addresses for all of them:
![[2edee76f6ec0b063158c7ac29ace072e_MD5.png]]
Once you've changed the web addresses, click the `Add` button to add the apps to Homarr. They are then available in the app list and can be used as normally added apps.
![[e3c6e698470486dcc2d1a155f62b9102_MD5.png]]
### Configuration
Currently Homarr supports one label for configuration of the containers:
- **homarr.hide:** If set to any value, the container will be hidden from the Docker Containers widget and tools page.
### Security
Mounting docker sockets can be risky, as they permit full control over your docker service. As an example, a thread actor could abuse Homarr use the socket to start, stop or delete containers on your system.
Therefore we recommend the usage of a socket proxy, which can prohibit certain actions. A few examples include:
- [https://github.com/linuxserver/docker-socket-proxy](https://github.com/linuxserver/docker-socket-proxy)
- [https://github.com/Tecnativa/docker-socket-proxy](https://github.com/Tecnativa/docker-socket-proxy)
See documentation of the respective proxies on how to configure them. Homarr may behave in unexpected ways when you use proxies.
#### Permissions
Homarr needs the following permissions from the Docker API:
- Containers/Start
- Containers/Stop
- Containers/Restart
- Containers/Remove
For socket proxies, you will need these permissions:
- `CONTAINERS=1`
- `POST=1`
**Caution:** `POST` access is security critical as it provides extensive capabilities to modify your docker environment. Please leave it disabled if you're concerned about this.
As a workaround, you can use [LSIO's socket proxy](https://github.com/linuxserver/docker-socket-proxy) and set the following:
- ALLOW\_START=1
- ALLOW\_STOP=1
- ALLOW\_RESTARTS=1
These will work even with `POST=0`.
You lose the ability to remove containers, but start, stop and restarts should work just fine.
#### Connecting to Docker via Socket Proxies
To connect to Docker via a socket proxy, you'll need to add these two environment variables in the compose file:
- `DOCKER_HOSTNAMES=<name of the socket proxy container>`
- `DOCKER_PORTS=<socket proxy port, usually 2375>`
Refer: [https://homarr.dev/docs/advanced/environment-variables/](https://homarr.dev/docs/advanced/environment-variables/)
You will also need to add Homarr to the network of your socket proxy. You can do it like this:
1. Add the network to your compose file (with appropriate changes):
```yaml
networks:
socket-proxy:
name: socket-proxy # <--- change this to the name of the network as set up by the socket proxy
external: true
1. Add the network to the homarr service in the compose file:
```yaml
networks:
- socket-proxy
1. Finally, if it is present, remove the default docker socket connection under `volumes` in the homarr service.
source: "https://homarr.dev/docs/management/boards/"
description: "Each dashboard is called a \"board\"."
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.
![[a24328bb659734869ada42365e4b3412_MD5.png]]
### 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:
![[e9b34839736ba9a0df9adc491254154d_MD5.png]]
Alternatively, you can also navigate from the board page itself using the cog icon at the top right:
![[a49017599d269ff8220d5ed156f21d1d_MD5.png]]
### General
#### Page title
This is the title that will be visible at the top left in the navigation bar:
![[4ce942c5eb9157a9a6a0fc6e4d4b46a5_MD5.png]]
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:
![[baffdc8d59cddf70731dc4da1eff35c5_MD5.png]]
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.
![[d11998dcc429dbd2520c6416bb01da54_MD5.png]]
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
![[aa56ffcc83b0c5932fa1dde8bd42489e_MD5.png]] ![[01366fd6e092541dda0b95fada57724e_MD5.png]] ![[bfe66f5007a785b7e127b17602cfb3e7_MD5.png]]
### 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):
![[0aec7557f58509eb96e54dc5517c0e88_MD5.png]]
### 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.
![[c1cd2ff8e5f380baafcea8a4be8171c7_MD5.png]]
#### Item radius
Change the radius of your items / categories.
![[fc51892a524d2d82d1a00a29047de9d4_MD5.png]]
### 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](https://homarr.dev/docs/next/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:
![[1aba670865350eb017d5657555c86be6_MD5.png]]
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
> [!-secondary] -secondary
> 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".
![[5c10ca91f544a97d272fa5f49c96b92d_MD5.png]]
## 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:
![[67bba8348b6fd2d99a36ff977c46c5c7_MD5.png]]
### For yourself
To set the home board yourself, the easiest option is to set it directly in the list of boards:
![[4e0f763cda0db2a95ff1d3783d68005d_MD5.png]]
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`
![[3551fc64e0a03b35328abd3b16a0607b_MD5.png]]
### 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`
![[15206a0710f5e9d44953db686d825c0c_MD5.png]]
### 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`
![[ec0c2e539f26464aad191e4cecfbdb33_MD5.png]]
> [!-secondary] -secondary
> 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)
source: "https://homarr.dev/docs/management/certificates/"
description: "On this page you can manage your trusted 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.
![[07b46a68e92bec71673a12d3a1cb25b8_MD5.png]]
| 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.
![[ed90e733287f790df54455fe27ada45b_MD5.png]]
Then select the certificate file you want to add.
![[1daf3fcccddfdfa5fa32e60556e21b4c_MD5.png]]
And click the "Add" button.
## Delete a certificate
To delete a certificate you can click on the trash icon in the certificate card.
![[4fa61318d5941ae809e751cbe4b0aa8b_MD5.png]]
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/).
source: "https://homarr.dev/docs/integrations/github/"
description: "GitHub is a web-based platform for version control and collaboration."
Version: 1.59.2 ![[220dc26834a2198b9c037048f9297429_MD5.svg]]
## GitHub
Version ControlSoftware
GitHub is a web-based platform for version control and collaboration.
ReleasesDisplays a list of the current version of the given repositories with the given version regex.
[Details](https://homarr.dev/docs/widgets/releases)
### Adding the integration
You can find how to add the integration on the [Integrations Management](https://homarr.dev/docs/management/integrations) documentation page.
source: "https://homarr.dev/docs/integrations/nextcloud/"
description: "Nextcloud is a self-hosted productivity platform that provides file storage, collaboration tools, and more."
Version: 1.59.2 ![[1fd2b1bbbf1e85181aaede0b963c13b2_MD5.svg]]
## Nextcloud
CalendarNotifications
Nextcloud is a self-hosted productivity platform that provides file storage, collaboration tools, and more.
CalendarDisplay events from your integrations in a calendar view within a certain relative time period
[Details](https://homarr.dev/docs/widgets/calendar)
NotificationsDisplay notification history from an integration
[Details](https://homarr.dev/docs/widgets/notifications)
source: "https://homarr.dev/docs/integrations/q-bittorent/"
description: "qBittorrent is a free and open-source BitTorrent client."
Version: 1.59.2 ![[461ff1f69c2c6a281e0d25b2f6d039de_MD5.svg]]
## qBittorrent
Torrent client
qBittorrent is a free and open-source BitTorrent client.
Download ClientAllows you to view and manage your Downloads from both Torrent and Usenet clients.
[Details](https://homarr.dev/docs/widgets/downloads)
### Secrets
- Username & Password
| Name | Description |
| Username | Account username for authentication. |
| Password | Account password for authentication. |
source: "https://homarr.dev/docs/management/integrations/"
description: "Integrations are connections to supported third party applications."
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](https://homarr.dev/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:
![[b403f6e2ad41cd95c9ef0ab2c9037757_MD5.png]]
Next, you'll need to fill out the required fields to configure the integration:
![[28719542ceeb925d0a749a6fbd41b81a_MD5.png]]
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](http://sabnzbd.example.com/)
- [https://example.com/sabnzbd](https://example.com/sabnzbd)
You must not append any path after the base URL. Some examples for incorrect usage:
- [http://sabnzbd.example.com/settings](http://sabnzbd.example.com/settings)
- [https://example.com/sabnzbd/settings](https://example.com/sabnzbd/settings)
An integration may or may not require secrets to function. To process to obtain them is usually [documented in the integration pages](https://homarr.dev/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.
![[2af628de56b4534249e652d8e4334fdd_MD5.png]]
## 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](https://homarr.dev/docs/management/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](https://homarr.dev/docs/management/certificates/#obtaining-certificates).
source: "https://homarr.dev/docs/management/settings/"
description: "The settings page has a few options that will be applied to the entire Homarr application."
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](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.
source: "https://homarr.dev/docs/management/apps/"
description: "Apps are the building blocks of your Homarr board."
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:
![[881d180a726437fe08748cfbe467767d_MD5.png]]
Next, you'll need to fill out the required fields to configure the app:
![[9008c71880a52ee44f44d3f211f238cc_MD5.png]]
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.
![[bc56e670b2dfd62977a82e503178a9fe_MD5.png]]
### 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.
![[57882a4a4257df5162df73d51af51217_MD5.png]]