在 linux 环境下可以二级制部署 clash,但是,为了不影响宿主环境,还是选择 Docker。比如 nas 系统,万一把宿主环境搞崩了,得不偿失。
首先创建相关目录文件:
clash
├── docker-compose.yml
└── svc-clash
└── config.yaml # Clash 配置文件
docker-compose.yml 内容如下:
version: "3"
services:
# Clash
svc-clash:
image: dreamacro/clash
container_name: svc-clash
volumes:
- ./svc-clash/config.yaml:/root/.config/clash/config.yaml
ports:
- "7890:7890/tcp"
- "7890:7890/udp"
- "9090:9090"
restart: always
networks:
- default
# Clash Dashboard
svc-clash-dashboard:
image: centralx/clash-dashboard
container_name: svc-clash-dashboard
ports:
- "12345:80"
restart: always
networks:
- default
# Networks
networks:
default:
driver: bridge
name: svc
Clash 部分的 ports 需不需要 socks 的 7891 端口,看自己的需求。
Clash Dashboard 部分的 ports 宿主机端口,我这里是 12345,因为我的 80 端口已经用作其他服务了。自己想要设为什么端口就写啥(非已经占用端口)。
config.yaml 文件的主要内容如下:
port: 7890 socks-port: 7891 allow-lan: false mode: Rule log-level: silent external-controller: 0.0.0.0:9090 secret: "123456"
port 和 socks-port 部分可以合并成 mixed: 7890。这样容器就不要考虑 socks 的问题了。
external-controller 部分可以是:127.0.0.1:9090。如果 ui 访问 127.0.0.1 不通,尝试改成 0.0.0.0:9090。
文件处理完毕之后,到对应的文件夹下运行命令:
doccker-compose up -d
然后,浏览器打开 clash ui。地址为主机 ip + 配置的端口。我这里是 12345。

在打开的时候会有一个弹窗,输入配置的端口密钥之类的。如果点击“确定”没反应,说明什么地方配错了。慢慢尝试吧。
然后,设置里面“允许局域网的连接”打开。
使用代理
一般情况(抄一下我参考的文章):
修改其它服务器的 ~/.bash_profile 文件,添加以下内容。
function proxy_off(){
unset http_proxy
unset https_proxy
unset all_proxy
echo -e "已关闭代理"
}
function proxy_on() {
export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
# 将 10.10.10.10 改为你的代理节点
export http_proxy="http://10.10.10.10:7890"
export https_proxy="http://10.10.10.10:7890"
export all_proxy="socks5://10.10.10.10:7890"
echo -e "已开启代理"
}
# 令配置生效 $ source ~/.bash_profile # 打开代理 $ proxy_on # 关理代理 $ proxy_off
其他情况,比如 jellyfin。如果 jellyfin 是直接在宿主环境安装的,使用上面的操作就可以。如果实在容器,可以添加环境变量 –env ALL_PROXY=”http://10.10.10.10:7890″ 和 –env NO_PROXY=”localhost,127.0.0.1,localaddress,.localdomain.com”。
实际使用后发现,浏览器设置代理到 clash 可以,但 jellyfin 环境变量代理不太行。所以,jellyfin 换成了 –add-host 的方式。

在 portainer 的 network 面板,“add additional entry” 里添加 api.themoviedb.org 的 ip。