Rocky 下使用 Docker 安装 adguardhome、home-assistant。


还是因为爱快的问题,Docker 下对于IPV6的支持不太好,无法获取一个稳定的内网ip地址。AdGuardHome 经常抽风,所以只能再次用虚拟机曲线救国。
CentOS 因为各种服务即将过期,这次就用了 Rocky Linux 。顺便吧以前在爱快 docker 里跑的东西都迁移进去。好处就是假够灵活,有问题就直接使用快照回滚,可以节省大量时间与精力。有时间的话可以吧nas搞搞。

安装

本次使用的系统为 Rocky 8.5,安装过程与 Centos 类似。快进到部署环境。

# 添加Docker Repo
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
# 更新源
dnf update
# 安装Docker
dnf install -y docker-ce
# 启动Docker服务
sudo systemctl start docker && sudo systemctl status docker
# 设置开机自启动
sudo systemctl enable docker
#添加ipv6

环境

因为是家庭环境怕麻烦,所以直接禁用了防火墙,注重安全性的话自行放行相应的端口。

# 直接禁用防火墙
systemctl stop firewalld && systemctl disable firewalld && systemctl status firewalld
#添加ipv6

添加ipv6(可选)

这一步可选,注意这个 ipv6 我是配和 OpenWrt 使用的。

#添加ipv6
nmcli c modify ens3 +ipv6.address fde5:ed39:b705::20/64
nmcli c up ens3

部署 adguardhome

提前建立 /docker/adguardhome/workdir /docker/adguardhome/confdir 文件夹,或者自行改到别的目录。

# 拉 adguardhome 镜像
docker pull adguard/adguardhome
# 安装 adguardhome 镜像
docker run --name adguardhome \
-v /docker/adguardhome/workdir:/opt/adguardhome/work \
-v /docker/adguardhome/confdir:/opt/adguardhome/conf \
--network=host \
--restart=always \
-d adguard/adguardhome

部署 nginx

提前建立 /docker/nginx/config /docker/nginx/html 文件夹,或者自行改到别的目录。前者为配置文件,后者是网页。

# 拉 nginx 镜像
docker pull nginx
# 安装 nginx 镜像
docker run --name nginx \
-v /docker/nginx/config:/etc/nginx/conf.d \
-v /docker/nginx/html:/usr/share/nginx/html \
--network=host \
--restart=always \
-d nginx

部署 home-assistant

提前建立 /docker/homeassistant/config 文件夹,或者自行改到别的目录。

# 拉 home-assistant 镜像
docker pull homeassistant/home-assistant
# 安装 home-assistant 镜像
docker run --name home-assistant \
-v /docker/homeassistant/config:/config \
--network=host \
--restart=always \
-d homeassistant/home-assistant:latest

部署 watchtower

实现对于docker容器的自动更新。--cleanup 删除旧的镜像,--schedule "0 0 2 1 ? " 每月检查一次更新。

# 拉 watchtower 镜像
docker pull containrrr/watchtower
# 安装 watchtower 镜像
docker run -d \
    --name watchtower \
    --restart always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower \
    --cleanup \
    --schedule "0 0 2 1 * ? *"

声明:纸盒博客|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - Rocky 下使用 Docker 安装 adguardhome、home-assistant。


Carpe Diem and Do what I like