Docker
Docker is our recommended installation method for beginners and professionals. It is easy to use, ships with all dependencies inside a single container and is easy to use and maintain. It requires at least some basic knowledge of Docker. We recommend NetworkChuck's Docker Containers 101 as a good start for complete beginners.
Docker compose​
Prerequisites​
- A Linux or Windows based system that meets the hardware prerequisites and architecture prerequisites.
- Docker
- Docker Compose - preinstalled on many systems nowadays
Installation​
To install Homarr using Docker Compose, simply create a file called docker-compose.yml
and paste the following code into it.
#---------------------------------------------------------------------#
# 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 # Optional, only if you want docker integration
- ./homarr/appdata:/appdata
ports:
- '7575:7575'
Then, run docker compose up -d
in the same directory. This will start the Homarr container in the background.
Docker compose creates a network by default. Some integrations may not work (specifically Dash.) when the network internal hostname is used since clients do not know this name. It is recommended that you either use a local network wide hostname or the IP directly. An alternative is to create a DNS record with the same internal compose stack hostname for all clients outside.
Updating​
To update, navigate to the directory with the docker-compose.yaml
located.
- Stop Homarr using
docker compose down
- Pull the newest image of Homarr using
docker compose pull
- Start Homarr again using
docker compose up -d
(-d
for detached mode - start in background) - Delete the old image using
docker image prune
(Warning: this also removes you other unused images - not just Homarr)
You can automate this process using Watchtower.
Uninstalling​
To uninstall, navigate to the directory with the docker-compose.yaml
located.
- Stop Homarr using
docker compose down
- Delete the created directories & files on your root file system (check
docker-compose.yaml
file for your specific locations) - Delete compose file using
rm docker-compose.yaml
- Prune unused Docker images using
docker image prune
(Warning: this also removes you other unused images - not just Homarr) - (Optional): Prune any network or volumes if you use any.
- (Optional): Remove Homarr from your reverse proxy, VPNs or tunnels if you use any.
Docker standalone​
Docker Compose is easier and recommended for beginners. Consider using compose instead.
Prerequisites​
- A Linux or Windows based system that meets the hardware prerequisites and architecture prerequisites.
- Docker
Installation​
To install Homarr using Docker, simply run the following command.
docker run \
--name homarr \
--restart unless-stopped \
-p 7575:7575 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v <your-path>/homarr/appdata:/appdata \
-d ghcr.io/homarr-labs/homarr:latest
Docker will mount the configuration files and icons to your host machine. Please make sure to replace <your-path>
from the docker run command with your desired storage location. The path must be absolute.
Updating​
To update Homarr, you must remove your container first. Make sure that you've mounted your data and that you have access to it, so your configuration doesn't get lost.
- Run
docker rm homarr
to remove the container. - Pull the latest Homarr image
docker pull ghcr.io/homarr-labs/homarr:latest
. - Re-run the command you used to install Homarr.
This process can get tideous, if you update frequently. Thus, we recommend using docker-compose
Want to update all your containers automatically? Checkout Watchtower a service which will automatically update your containers on a set interval.
Uninstalling​
- Obtain the container ID of your Homarr container using
docker ps | grep homarr
. - Delete the container using
docker rm <your-container-id>
- Prune unused Docker images using
docker image prune
(Warning: this also removes you other unused images - not just Homarr) - (Optional): Prune any network or volumes if you use any.
- (Optional): Remove Homarr from your reverse proxy, VPNs or tunnels if you use any.