大家好,我是羊刀仙。
从外网返回到内网的方式其实有很多,本期就来介绍一个通过Docker部署浏览器的方式。
需求是多元的,简单介绍下部分使用场景:
1、判断NAS网络情况,验证梯子是否生效,修改host后是否生效等;
2、从公网翻回内网,外网打开NAS上部署的浏览器具备局域网网属性,可以通过该浏览器访问局域网设备;
3、当作下载器使用,还可以拿来挂机、挂在线时长,例如页游或论坛;
4、通过浏览器安装插件,实现更多的花样功能。
关于NAS浏览器,绿联、极空间局我所知并没有内置应用,可以考虑搭建。群晖则可以通过第三方应用,比如矿神的BrowserBox,可以在线安装使用。
威联通官方则有Browser Station,我认为比Docker搭建浏览器更为好用,就是稍微卡一点儿。
当然威联通NAS返回内网设备还可通过Linux Station来进行。Linux Station能解决更多问题,并且还能够将集显充分利用,这个等后面单独出一篇来细讲。
就说这么多,咱们开始部署,可选择Docker Cli或Docker Compose部署。本文共分为:部署流程、反向代理实、注意事项三大部分。
准备工作
在常用目录下创建文件目录用于映射,存放项目数据,以威联通部署Chrome为例,,如果有额外需求,在下文部署过程中会着重标明。
/share/Container/chromium/config # 数据目录
/share/Container/chromium/fonts # 字体目录
部署Chrome
打开Container Station,,点击左侧栏的应用程序
,进行创建。
将以下代码修改后进行粘贴:
version: "3.7"
services:
chromium:
image: lscr.io/linuxserver/chromium:latest
container_name: docker-chromium
environment:
- PUID=1000 # 设置为你的用户ID
- PGID=1000 # 设置为你的组ID
- TZ=Asia/Shanghai # 设置你的时区
- CHROME_CLI=--app=https://www.baidu.com # 设置启动时打开百度搜索,可改
volumes:
- /share/Container/chromium/config:/config
- /share/Container/chromium/fonts:/usr/share/fonts
#- /var/run/docker.sock:/var/run/docker.sock 挂载Docker socket,启用则取消注释
ports:
- 11123:3000 # 冒号左侧端口可改
shm_size: "1gb" # 共享内存大小
restart: unless-stopped
privileged: true # 启用特权模式,不想要可删除
#devices:
# - /dev/dri:/dev/dri # 挂载GPU设备,启用则取消注释
部署完毕后,不出意外局域网内输入NAS_IP:11123
即可访问到浏览器。可以看到该项目是基于VNC工具实现的,跟之前咱们部署的远程桌面会话差不多。
反向代理放在后面部分,接下来介绍如何部署Edge浏览器。
部署Edge
步骤与上面类似,部署代码如下:
version: "3.7"
services:
msedge:
image: lscr.io/linuxserver/msedge:latest
container_name: msedge
environment:
- PUID=1000 # 替换为你的QNAP用户ID
- PGID=1000 # 替换为你的QNAP组ID
- TZ=Asia/Shanghai # 设置时区,可根据需要更改
- EDGE_CLI=--app=https://www.baidu.com # optional, 设置Edge启动时的CLI选项(非必需)
volumes:
- /share/Container/msedge/config:/config
- /share/Container/msedge/fonts:/usr/share/fonts
ports:
- 11124:3000
shm_size: "1gb" # 共享内存大小设置
restart: unless-stopped # 设置容器重启策略
重复之前的操作即可。
部署Firefox
部署代码如下:
version: "3.7"
services:
firefox:
image: lscr.io/linuxserver/firefox:latest
container_name: firefox
security_opt:
- seccomp:unconfined #optional
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- EDGE_CLI=--app=https://www.baidu.com # optional, 设置Edge启动时的CLI选项(非必需)
volumes:
- /share/Container/firefox/config:/config
- /share/Container/firefox/fonts:/usr/share/fonts
ports:
- 3000:3000 # http监听
- 3001:3001 # https监听
shm_size: "1gb"
restart: unless-stopped
打开后如下图所示。
反向代理
参考之前的文章:https://blog.ydxian.xyz/archives/lucky
放一张配置图,若要代理https,下图中后端地址http要改掉。如果想要更安全些可以启用基本认证。
之后便可通过chrome.xxx.xyz:监听端口号访问浏览器,也就是文章开头图片所示效果。
几点注意问题
非必需环境变量/配置
三者其实都差不多,支持个性网页标题、自定义用户/密码、加速节点等内容,详见官方文档:
https://github.com/linuxserver/docker-firefox
https://github.com/linuxserver/docker-chromium
https://github.com/linuxserver/docker-msedge
浏览器下载位置
如果需要使用该浏览器下载内容,可点开窗口面板,如下图所示位置进行查看。
最后
通过Docker在NAS搭建浏览器,还是能够为我们带来一定的便利性,有需要的朋友可以进行部署。
评论区