🌐 VI | EN

Homepage dashboard in Docker: collect HomeLab services on port 8006

Nghia Phan
Nghia Phan
🌐 Bản tiếng Việt → Technical Guide Views
Advertisement
Sponsored

Homepage is a fast, static, customizable dashboard for collecting HomeLab services. The i12bretro tutorial uses Docker, stores configuration under ~/homepage, and mounts the Docker socket so Homepage can discover containers through labels.1

Install Docker

Log in to the Linux Docker host and run:

# install prerequisitessudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg-agent -y# add docker gpg keycurl -fsSL https://download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release)/gpg | sudo apt-key add -# add docker software repositorysudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release) $(lsb_release -cs) stable"# install dockersudo apt install docker-ce docker-compose containerd.io -y# enable and start docker servicesudo systemctl enable docker && sudo systemctl start docker# add the current user to the docker groupsudo usermod -aG docker $USER# reauthenticate for the new group membership to take effectsu - $USER

Run Homepage

The source first checks the UID/GID, creates the configuration directory, and runs the container. Check the UID/GID of the user that will run the container, then set PUID/PGID:

# list current uid and gid, note these for laterid $user# make a homepage directory to mount in the containermkdir ~/homepage -p# run the homepage docker image# replace PUID, GUID with the output of the id $user command abovedocker run -d --name=homepage -e PUID=1000 -e PGID=1000 -p 8006:3000 -v ~/homepage:/app/config -v /var/run/docker.sock:/var/run/docker.sock --restart unless-stopped ghcr.io/benphelps/homepage
Quảng cáo

Open http://DNSorIP:8006. Host port 8006 maps to container port 3000, while the configuration persists in ~/homepage.

Docker socket permissions

Mounting /var/run/docker.sock lets Homepage communicate with the Docker daemon, so it is sensitive access. Keep port 8006 on the management network, do not expose it without authentication, and back up ~/homepage before editing YAML. If the dashboard only needs static links, omit the socket and configure services manually.

Sources

Footnotes

  1. https://i12bretro.github.io/tutorials/0859.html — i12bretro tutorial 0859. ↩

Sponsored Advertisement
Partnership

Comments & Discussion

Share your thoughts, ask questions and feedback

Markdown & QQ Emoji
Loading comments...