群晖(Docker Compose)配置 frp 服务

为了方便远程电脑,访问自己电脑上的ComfyUI等服务,配置了 frp 服务。

配置 frp 服务后,发现群晖中的一些服务也可以 stcp 安全的暴露出来。

直接在群晖通过 Docker Compose 方式部署 frps 和 frpc,访问者通过 frpc 安全访问暴露的服务。

使用的群晖的 Container Manager,可以先在 File Station 的 docker 下面创建 frp 目录,在目录中写好 frps.toml 和 frpc.toml 配置文件。

在这里插入图片描述

frps.toml

先配置服务端。

bindAddr = "0.0.0.0"
bindPort = 7000

log.to = "console"
log.level = "trace"
log.maxDays = 30
log.disablePrintColor = true

auth.method = "token"
auth.token = "你的密码"

webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "admin"

其中的 webServer 服务端口、帐号密码可以简单写,访问的时候也会用加密的方式,所以这里简单写也不影响。

frpc.toml

客户端的目的是为了以加密的方式将某个局域网内的服务通过 frps 暴露出去,因为这里要暴露群晖所在的网络,包括群晖的一些服务,以及家里其他电脑上的服务,所以这个客户端和 frps 一起部署到群晖更方便。

#和frps可以直接通过名字和端口进行访问
serverAddr = "frps"
serverPort = 7000

log.to = "console"
log.level = "trace"
log.maxDays = 3
log.disablePrintColor = true

auth.method = "token"
auth.token = "你的密码"

webServer.addr = "127.0.0.1"
webServer.port = 7400
webServer.user = "admin"
webServer.password = "admin"


[[proxies]]
name = "home_rdp"
type = "stcp"
secretKey = "访问密码"
localIP = "电脑的IP"
localPort = 3389

[[proxies]]
name = "comfyui"
type = "stcp"
secretKey = "访问密码2"
localIP = "电脑的IP"
localPort = 8188

[[proxies]]
name = "frps_admin"
type = "stcp"
secretKey = "frps"
localIP = "frps"
localPort = 7500

[[proxies]]
name = "frpc_admin"
type = "stcp"
secretKey = "frpc"
localIP = "127.0.0.1"
localPort = 7400

上面的 [[proxies]] 部分根据自己的需要进行配置即可,访问群晖服务时,需要指定群晖的IP,端口可以配置允许局域网内的其他IP进行访问。

Docker Compose

将上面的 frps.toml 和 frpc.toml 放到 /docker/frp/ 目录下面后,就可以在 Container Manager 选择 /docker/frp/ 目录创建项目,填入 Docker Compose 配置:

version: '3'
services:
  frps:
    image: snowdreamtech/frps:0.59
    container_name: frps
    restart: unless-stopped
    ports:
      - "7000:7000"
    volumes:
      - /volume1/docker/frp/:/etc/frp/
  frpc:
    image: snowdreamtech/frpc:0.59
    container_name: frpc
    restart: unless-stopped
    volumes:
      - /volume1/docker/frp/:/etc/frp/
    depends_on:
      - frps

由于 DockerHub 无法正常访问,如果你无法下载这两个镜像,可以找一些可用的mirror,也可以和我私信或邮件联系。

注意上面挂载的 frp 路径,确保和自己的路径一致。

上面服务起来后,正常在 frps:7500 中可以看到 frpc 注册的几个服务,在 frpc:7400 中还可以动态修改配置文件,方便暴露其他的服务。

frpv.toml

接下来就是访问者 visitors 的配置,这里起名为 frpv.toml,实际上也是 frpc 客户端配置。

访问者的配置和上面的 frpc.toml 是对应的。

#外网能访问的地址,例如群晖域名+ddns
serverAddr = "你的二级域名.synology.me"
#对外暴露的端口
serverPort = 37000
#前面日志用console方便在群晖看,纯客户端还是写文件记录下来方便
log.to = "./frpc.log"
log.level = "trace"
log.maxDays = 3
log.disablePrintColor = true

auth.method = "token"
auth.token = "你的密码"


# frpc role visitor -> frps -> frpc role server
[[visitors]]
name = "secret_home_rdp_visitor"
type = "stcp"
serverName = "home_rdp"
secretKey = "访问密码"
bindAddr = "127.0.0.1"
bindPort = 13389


[[visitors]]
name = "secret_comfyui_visitor"
type = "stcp"
serverName = "comfyui"
secretKey = "访问密码2"
bindAddr = "127.0.0.1"
bindPort = 18188


[[visitors]]
name = "secret_frps_admin_visitor"
type = "stcp"
serverName = "frps_admin"
secretKey = "frps"
bindAddr = "127.0.0.1"
bindPort = 17500


[[visitors]]
name = "secret_frpc_admin_visitor"
type = "stcp"
serverName = "frpc_admin"
secretKey = "127.0.0.1"
bindAddr = "127.0.0.1"
bindPort = 17400

通过 frpc -c frpv.toml 启动后,就可以通过上面绑定的 bindPort 安全的访问远程的服务了。

如果你喜欢使用桌面端控制 frpc,可以试试 frpc-desktop,这个工具适合普通用户使用(会用群晖的应该都不算普通用户了)。

如果用 Windows 系统,还可以使用 SrvanyUI 将命令注册为系统服务,通过服务自动启动。

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

isea533

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值