当前位置: 首页 > article >正文

群晖(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 将命令注册为系统服务,通过服务自动启动。


http://www.kler.cn/a/283275.html

相关文章:

  • NAT网络工作原理和NAT类型
  • WPF学习之路,控件的只读、是否可以、是否可见属性控制
  • Xcode 16 使用 pod 命令报错解决方案
  • fastapi 查询参数支持 Pydantic Model:参数校验与配置技巧
  • OpenHarmony4.1蓝牙芯片如何适配?触觉智能RK3568主板SBC3568演示
  • OSS文件上传
  • 移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——8.stackqueuepriority_queue(模拟实现)
  • zset使用lua实现取最高分数中的随机成员
  • 使用notepad++将shell脚本转为UNIX格式方法(主要差别在换行符)
  • MySQL中的锁详解
  • AndroidStudio无线连接Android手机进行调试
  • 利润暴涨507%的携程,做对了什么?
  • C++/Qt 多媒体(续三)
  • 酒店管理系统小程序(包含源码C++实现)
  • 生成和应用patch
  • Redis入门篇 - CentOS 7下载、安装Redis实操演示
  • 每天学习一个基础算法之顺序查找
  • Python观察者模式:构建松耦合的通信机制
  • 深入理解归并排序
  • C++,如何写单元测试用例?
  • PHP语言有哪些优势和特点?
  • C语言通用函数 - 判断ip是否合法
  • 顺序表和链表知识点
  • 运维学习————Docker自制镜像并上传至阿里云以及Docker Compose的使用
  • vmware解决虚拟机空间占用不断增大问题
  • FFmpeg源码:ffurl_seek2、ffurl_seek、avio_size函数分析