利用 Docker 搭建 AdGuard Home

AdGuard Home 是一款广告拦截和追踪工具。将它作为 DNS 服务器运行,并根据需求配置自定义规则后,可将特定域名(如:广告、弹窗、影片、文字、横幅、跟踪、恶意或钓鱼网站等)重新路由到“黑洞”,从而阻止您的设备连接到这些服务器,且无需在设备上安装任何客户端软件。 下面介绍用 Docker Compose 方式在 VPS 上搭建及设置 AdGuard Home : 新建 AdGuard Home 目录 mkdir adguardhome cd adguardhome mkdir work conf 创建 docker-compose.yml 文件 services: adguardhome: image: adguard/adguardhome container_name: adguardhome restart: unless-stopped ports: - "53:53/tcp" - "53:53/udp" - "3000:3000/tcp" volumes: - ./work:/opt/adguardhome/work - ./conf:/opt/adguardhome/conf environment: TZ: Asia/Shanghai 启动 adguardhome 容器 docker compose up -d 此时在浏览器输入 VPS 的 IP 地址 + 端口(以上配置文件端口为 3000 )即可进入 AdGuard Home 主页 ...

September 1, 2025

使用 Watchtower 自动更新 Docker 容器

Watchtower 是一款开源工具,专为 Docker 平台设计。它可以监控正在运行中的 Docker 容器,并监视这些容器是否有新版本可用。如果 Watchtower 检测到镜像发布了新版本,它将自动拉取新镜像并使用相同的选项重启容器。从而简化了容器维护的流程,减少手动干预。 使用 Docker Compose 部署 Watchtower 是推荐且灵活的方式,它能更好的管理容器配置。 Docker Compose 部署 Watchtower 操作步骤 创建 Docker Compose 文件 mkdir docker-compose.yml 编辑 docker-compose.yml 文件 services: watchtower: image: nickfedor/watchtower # 指定Watchtower镜像版本 container_name: watchtower # 定义容器名称 volumes: - /var/run/docker.sock:/var/run/docker.sock # 挂载Docker Socket,使Watchtower能与Docker守护进程通信 environment: - 'TZ=Asia/Shanghai' # 设置时区,例如:Asia/Shanghai - 'WATCHTOWER_POLL_INTERVAL=86400' # 设置轮询间隔,单位秒。默认为86400秒(24小时) - 'WATCHTOWER_CLEANUP=true' # 更新后自动删除旧镜像,可选 - 'WATCHTOWER_NOTIFICATIONS=email' # 配置通知方式,例如:email, slack, discord等 - 'WATCHTOWER_NOTIFICATION_EMAIL_FROM=sender@example.com' # 设置发送电子邮件地址 - 'WATCHTOWER_NOTIFICATION_EMAIL_TO=recipient@example.com' # 设置接收电子邮件地址 - 'WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.example.com' # 设置发送电子邮件服务器 - 'WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587' # 设置发送电子邮件服务器端口 - 'WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=user' # 设置邮件服务器用户名 - 'WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=password' # 设置邮件服务器密码 restart: unless-stopped # 设置容器重启策略,除非手动停止,否则自动重启 command: --schedule "0 0 3 * * ?" --cleanup nginx hysteria # 定时任务:每天凌晨3点执行更新并删除旧镜像 更多配置选项: ...

August 29, 2025

Nginx、Hysteria 的 Docker 部署实践

Docker 部署 Nginx 安装 Docker Engine 设置 Docker 的 apt存储库 # Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update 安装 Docker 包 sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 运行一个测试镜像验证安装是否成功 sudo docker run hello-world docker-compose 方式部署 Nginx 新建一个目录存放 docker-compose 、 nginx.conf 文件和 conf.d 文件夹 在新建的目录中创建一个名为" docker-compose.yml “的文件,内容如下: services: nginx: image: nginx:stable-alpine-perl container_name: nginx ports: - "80:80" - "443:443" volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro # nginx.conf文件路径根据实际调整 - ./conf.d:/home/sixdian/nginx/conf.d:ro # conf.d 目录路径根据实际调整 - /home/sixdian/site/sixdian.com/public:/home/sixdian/site/sixdian.com/public:ro # 网站根目录路径根据实际调整 - /home/sixdian/ssl:/home/sixdian/ssl:ro # ssl 证书目录路径根据实际调整 - /etc/dhparam:/etc/dhparam:ro environment: TZ: Asia/Shanghai restart: always 在 docker-compose.yml 文件所在目录中执行以下命令启动服务: docker compose up -d Docker 部署 Hysteria docker-compose 方式部署 Hysteria 新建一个目录存放 docker-compose.yml 文件和 hysteria.yaml 配置文件 在新建的目录中创建一个名为” docker-compose.yml “的文件,内容如下: services: hysteria: image: tobyxdd/hysteria container_name: hysteria restart: always network_mode: "host" volumes: - ./hysteria.yaml:/etc/hysteria.yaml:ro # hysteria.yaml 文件路径根据实际调整 - /home/sixdian/ssl:/home/sixdian/ssl:ro # ssl 证书目录路径根据实际调整 environment: TZ: Asia/Shanghai command: ["server", "-c", "/etc/hysteria.yaml"] 在 docker-compose.yml 文件所在目录中执行以下命令启动服务: docker compose up -d

August 28, 2025

OpenWrt、Padavan 下 frp 服务和客户端的配置

OpenWrt frps 配置文件位置:/etc/config/frps config init option stdout 1 option stderr 1 option user frps option group frps option respawn 1 config conf 'common' option bind_port 7000 option dashboard_addr 0.0.0.0 option dashboard_port 7500 option dashboard_user *** option dashboard_pwd ****** option token ****** frpc 配置文件位置:/etc/config/frpc config init option stdout 1 option stderr 1 option user frpc option group frpc option respawn 1 config conf 'common' option server_addr ***.sixdian.com option server_port 7000 option token ****** config conf '***' option type http option local_ip 127.0.0.1 option local_port 80 option subdomain *** 查看生效配置: ...

December 15, 2022

利用 Hysteria 搭建科学上网服务

10月份之后 shadowsocks 扶墙服务器 IP 频繁遭屏蔽,更换 IP 浪费了我不少银两。考虑到 shadowsocks 协议已被防火长城精准识别,再用还会被封 IP,所以就用 Hysteria 替代 shadowsocks,作为以后科学上网的主要方式。 Hysteria 默认运用 UDP 协议进行通信,其主要应用场景有: 绕过网络审查 提升传输速度 绕过商业/学校/企业防火墙 绕过运营商 QoS 限速 下载 Hysteria cd /etc # 切换到系统 etc 文件夹 wget https://github.com/apernet/hysteria/releases/download/v1.3.2/hysteria-linux-amd64 #下载 Hysteria 服务程序 mv hysteria-linux-amd64 hysteria-server #将 Hysteria 服务程序重命名为 hysteria-server chmod +x hysteria-server #为 hysteria-server 赋予可执行权限 创建 Hysteria 服务配置文件 vi config.json { "listen": ":8388", "protocol": "udp", "cert": "/home/sixdian/ssl/cert.pem", "key": "/home/sixdian/ssl/key.pem", "obfs": "******", "up": "100 Mbps", "down": "20 Mbps", "alpn": "sixdian", "recv_window_conn": 8388608, "recv_window_client": 20971520 } 将 Hysteria 服务加入到 systemctl vi /etc/systemd/system/hysteria.service [Unit] Description=hysteria-server After=network-online.target [Service] Type=simple ExecStart=/etc/hysteria/hysteria-server server -c /etc/hysteria/config.json Restart=always RestartSec=2 [Install] WantedBy=multi-user.target 防火墙设置 firewall-cmd --zone=public --add-port=8388/udp --permanent #开放 8388 UDP 端口 firewall-cmd --zone=public --add-port=50000-60000/udp --permanent #开放 50000-60000 UDP 端口 firewall-cmd --zone=public --add-masquerade --permanent #允许防火墙伪装 IP firewall-cmd --zone=public --add-forward-port=port=50000-60000:proto=udp:toport=8388 --permanent #将 50000-60000 UDP 端口转到到 8388 UDP firewall-cmd --reload #使防火墙配置生效 启动 Hysteria,并使 Hysteria 服务开机启动 systemctl start hysteria #启动 Hysteria systemctl enable hysteria #设置 Hysteria 开机启动

December 13, 2022