Docker
服务搭建
Docker-笔记类
Docker-Wiki.js
Docker-Trilium(个人云笔记)
Docker-MrDoc(觅思文档)
Docker-MinDoc(文档管理系统)
Docker-Wiz(为知笔记)
Docker-Wizard(开源文档管理系统)
Docker-siyuan(思源笔记)
Docker-Athensresearch(雅典)
Docker-Logseq(日志序列)
Docker-Joplin Server(需搭配APP)
MarkDown-进阶
Docker-AFFiNE(白板文档)
Docker-Obsidian(黑曜石)
Html-文章保护
Docker-Memos(备忘录)
Docker-Etherpad(实时协作在线编辑器)
Docker-AppFlowy
Docker-DokuWiki(维基)
Docker-小书匠
Docker-MD(微信 Markdown编辑器)
Docker-Halo(个人博客)
闲置宽带利用
甜糖
网心云
点心云
Docker-JS TOOL(京豆)
Docker-Gitea(代码托管平台)
Git使用小技巧
Git-命令推送
Git-常用命令
Docker-CentOS
Docker-iperf3(网络测速)
Docker-QingLong(青龙面板)
🚫青龙-NolanJDCloud
青龙-Ninja
青龙-京豆
青龙-互助码
青龙-WxPusher(通知)
青龙-其他脚本
青龙-bilibili
青龙-短视频金币
青龙-常见问题
青龙-迁移
青龙-快速部署
Docker-EMQX(MQTT服务器)
EMQX-高级操作
Docker-Home Assistant
Docker-RustDesk(远程桌面)
Docker-邮箱系统
Docker-SRS(直播服务器)
Docker-Bitwarden(密码服务器)
Bitwarden-TOTP(双因素认证2FA)
Docker-书签/导航
Docker-OneNav
Docker-Flare
Docker-WebStack
Docker-GEEKAPE
Docker-nav(发现导航)
Docker-Linkding(网络书签)
Docker-Wallabag(网络书签)
Docker-Benotes(书签)
Docker-LyLme Spage(六零导航页)
Docker-Homarr(浏览器仪表板)
Docker-Sun-Panel
Docker-Nginx
Docker-nginxWebUI(反向代理)
Docker-Nginx Proxy Manager
Docker-Nginx Config(配置生成器)
Docker-Nginx UI
Nginx-配置详细说明
PHP扩展
Nginx-安全
Nginx-Shell管理脚本
Docker-Redis
Docker-Jupyter(Python在线环境)
JupyterHub(支持课程管理)
Jupyter(单用户)
Jupyter-OpenCV
JupyterHub-自构建
Docker-LiveTorrent(磁力链在线解析)
Docker-OpenVPN
OpenVPN-配置注释
OpenVPN-基础部署
OpenVPN-一键脚本部署
OpenVPN-访问内部设备
OpenVPN-ovpn-admin(WebUI)
Docker-Switch联机
Docker-网站统计
Docker-Umami
Docker-Matomo
Docker-IPsecVPN
Docker-Zerotier(虚拟组网)
ZeroTier-Planet(星球)
Zerotier-Moons(月亮)
Zerotier-伪根服务器(修改UI)
ZeroTier-局域组网
Docker-Linux
Docker-Screeps 服务器
Docker-Harbor(Docker 镜像服务器)
Harbor-镜像迁移
docker-mirror(镜像转存工具)
Docker-Reader(网文阅读器)
Docker-聊天类
Docker-Rocket.chat(IM聊天系统)
Docker-Fiora(二次元聊天室)
Docker-Mattermost(开发者聊天室)
Docker-唐僧叨叨
Docker-Mastodon
Docker-VoceChat
Docker-blogChat(在线聊天室)
Docker-NASTools(影音库工具)
Docker-Lottery(抽奖程序)
Docker-VSCode Web版
Docker-临时分享类
Docker-PasteMe(自销毁小纸条)
Docker-PasteBin(临时分享)
Docker-Pingvin Share(文件分享)
Docker-Snapdrop(局域网传输)
Docker-FileCodeBox(文件快递柜)
Docker-microbin(临时分享)
Docker-PairDrop(局域网传输)
Docker-FastSend(文件快传)
Docker-internal-chat(局域网文字/文件)
Docker-Enclosed(私密安全笔记)
Docker-任务管理类
Docker-TAIGA(看板)
Docker-Focalboard(看板)
Docker-DooTask(轻量级任务管理工具)
Docker-Vikunja(待办事项)
Docker-Tasks.md(任务管理板)
Docker-Send(私密文件分享)
Docker-ScreeGo(在线多人屏幕分享)
Docker-ChatGPT
ChatGPT(伪)-部署
ChatGPT-未测试项目
ChatGPT-ChatGPT Web
🚫ChatGPT-ChatGPT Vercel
🚫ChatGPT-PandoraNext(潘多拉)
🚫ChatGPT-PandoraNext-Helper(Token管理)
Docker-kkFileView(文件在线预览)
Docker-问卷考试类
Docker-学之思(开源考试系统)
Docker-文字识别类(OCR)
Docker-OCR(Python)
Docker-Paperless-ngx(无纸化)
Docker-短链类
Docker-Yourls(短链)
Worker短链(CloudFlare)
Docker-GreaterWMS(仓管系统)
Docker-内网穿透
Docker-Frp
Docker-NPS
Frp-客户端配置工具
Docker-Frp-Panel
Docker-OpenP2P
Docker-网盘
Docker-AList(云盘直链)
🚫Docker-FileRun(个人网盘)
Docker-腾飞WebOS
Docker-Cloudreve(支持WebDAV子账户)
Docker-Seafile
Docker-ZFile
Docker-Dufs(轻量文件服务器)
Docker-FileGator
Docker-SSH/远程桌面
Docker-Guacamole(远程桌面)
Docker-Nexterm(服务器管理软件)
Docker-Sshwifty(SSH&Telnet客户端)
Docker-Next Terminal(Web终端)
Docker-CF_Tunnels(隧道)
Docker-RouYi_WMS
Docker-图形化管理工具
Docker-Portainer(图形化管理工具)
Docker-SimpleDocker(Docker控制面板)
Docker-Easypanel(易面板)
Docker-DockerUI(国内图形化)
Docker-1Panel
Docker-宝塔
Docker-lazydocker(Shell UI)
Docker-⭐DPanel(可视化管理面板)
Docker-⭐Dockge(docker-compose管理器)
Docker-Dokploy(PaaS)
Docker-UpSnap(局域网唤醒)
Docker-Watchtower(自动更新)
Docker-RunnerGo(全栈测试)
Docker-Web工具箱
Docker-Stirling-PDF(PDF工具)
Docker-IT Tools(IT工具箱)
Docker-Reference(速查神器)
Docker-Photopea(在线PS)
Docker-miniPaint(在线PS)
Docker-Morphos(文件转换)
Docker-证件照片排版
Docker-网易云解锁
Docker-nondanee_UnblockNeteaseMusic
Docker-UnblockNeteaseMusic
Docker-LX Music_Sync(数据同步)
Docker-在线白板类
Docker-Wbo(协作白板)
Docker-Excalidraw+(在线白板)
Docker-tldraw
Docker-Cook(今天吃什么)
Docker-Android
Docker-QD(自动签到)
QD-使用说明
Docker-消息推送(通知)
Docker-Wecom酱
Docker-Gotify(消息通知)
Docker-WeChatBot(微信机器人)
Docker-lumen项目部署
Docker-简历构建器
Docker-Open Resume
Docker-Reactive Resume
Docker-照片备份
Docker-Immich
Docker-vlmcsd(KMS)
Docker-Papermerge(数字档案文件管理系统)
Docker-SearXNG(搜索引擎)
Docker-Snipe-IT(资产管理)
Docker-Moments(极简朋友圈)
Docker-neko(浏览器)
Docker-AsPoem(诗词网站)
Docker-CMS(内容管理系统)
Docker-Ikaros(个人内容管家)
Docker-JPress
Docker-OneKVM(类向日葵控控)
Docker-OS(系统)
Docker-DSM(群晖)
Docker-OSX(MacOS)
Docker-Puter(云端系统)
Docker-GodoOS(内网办公操作系统)
Docker-Nextcloud
Docker-KodCloud(可道云)
Docker-MacOS
Docker-Windows
Docker-Ferry(工单系统)
Docker-HivisionIDPhotos(AI证件照)
Docker-IPTVnator(IPTV播放器)
Docker-SQL工具
Docker-SQLynx
Docker-STUN/TURN(Coturn)
Docker-gocron(定时任务管理系统)
Docker-paopao-ce(微社区)
Docker-JSON Hero(JSON浏览器)
Docker-n8n(工作流自动化)
Docker-Aria2
Docker-NTP(时间服务器)
Docker-EasyTier(异地组网)
Linux-EasyTier
EasyTier-配置文件
Docker-Domain Admin(域管理员)
Docker-WPS
卷的使用
备份与还原
各种开源项目(未测试)
限制资源
开放端口调整
更换 Docker 源
镜像转存DockerHub
DockerHub 代理加速(Cloudflare Worker)
Docker 代理加速(Cloudflare Worker)
代理加速
⭐CF-Workers-docker(DockerHub 加速)
docker run 转 docker-compose
Docker 解释
Dockerfile(自建镜像)
使用第三方构建
多阶段构建(缩小体积)
Docker的备份服务器
Kasm(Web服务)
Docker-备份与还原
Docker-volume(卷)
Docker-network(网络)
Linux 安装 Docker
Windows 安装 Docker
Win7 安装 Docker
游戏服务器搭建
Docker-Valheim(英灵神殿)
Docker-jsnes(在线NES)
Docker-7DaysToDie(七日杀)
7DaysToDie-配置文件
Docker-Conan Exiles(流放者柯南)
Docker-noname(无名杀)
Docker-Epic游戏商城每周免费游戏
Docker-Terraria(泰拉瑞亚)
泰拉瑞亚-服务器
Terrari-存档同步
Docker-Mindustry(像素工厂)
Docker-Habitica(习惯养成RPG)
Docker-RetroArch(在线模拟器)
Docker-vue-idle-game(轮回勇士传说)
Docker-Phira(Phigros 二创版)
Docker-Pterodactyl(翼龙面板⭐)
Pterodactyl-自建预设(游戏部署脚本)
Docker-GamePanelX-V3(游戏面板)
Docker-MCSManager(游戏面板⭐)
Docker-Easy-WI(游戏面板)
Docker-常见问题处理
Podman(Docker替代品)
Docker-Linux Command(Linux命令搜索引擎)
Docker-修改存储位置
Dockerc(编译为独立二进制文件)
slim(镜像瘦身)
Docker-API(远程连接)
Docker-cloudbak(云朵备份)
本文档使用 MrDoc 发布
-
+
首页
Docker-ScreeGo(在线多人屏幕分享)
ScreeGo 是一款开源、可自托管的多人屏幕分享工具,用户只需要使用浏览器,即可分享电脑屏幕,软件窗口,或浏览器标签页,通过 WebRTC 安全传输数据,响应迅速 **相关链接:** 官方DEMO(可直接使用):https://app.screego.net/ 官方文档:https://screego.net/#/install GitHub:https://github.com/screego/server 软件下载:https://github.com/screego/server/releases/ ## Dockerfile 部署 注意,更换外部IP后需重新执行构建,当然也可以直接挂载配置文件到 `/screego/screego.config` 来解决 ```bash # 下载最新并解压到当前目录 nano Dockerfile # 创建构建文件 # 手动设定 SSL证书使用的域名暂存变量 SCREEGO_DOMAIN_NAME=<SSL证书使用的域名> # 获取当前外部地址并暂存变量(二选一) SCREEGO_EXTERNAL_IP=`wget http://ipecho.net/plain -O - -q ; echo` SCREEGO_EXTERNAL_IP=`curl -s ipinfo.io/ip` # 构建镜像(构建时使用的参数都由上面设定的变量来配置,这样就不需要修改该命令) docker build --no-cache=true --build-arg SCREEGO_DOMAIN_NAME=${SCREEGO_DOMAIN_NAME} --build-arg SCREEGO_EXTERNAL_IP=${SCREEGO_EXTERNAL_IP} -t 918178/screego:latest . # 快速下载镜像中的文件,调试使用,执行后自动删除临时容器 docker create --name temp 918178/screego:latest && docker cp temp:/screego/screego.config . && docker rm temp # 前台测试(关闭后自动删除容器) docker run --rm --name screego --net=host -v $PWD/key:/screego/key 918178/screego:latest # 后台部署(正常使用) docker run -d --name screego --net=host -v $PWD/key:/screego/key 918178/screego:latest ``` `Dockerfile` ```bash # 基于 alpine 镜像 FROM alpine # 设置工作目录 WORKDIR /screego # 复制本地文件到容器内部 COPY screego_*/* /screego/ # 构建默认环境变量(外部IP和SSL证书名称) ARG SCREEGO_EXTERNAL_IP=127.0.0.1 \ SCREEGO_DOMAIN_NAME=*.918178.xyz # 可以在构建时使用 --build-arg <变量名称>=<参数> 来定义 # --build-arg SCREEGO_DOMAIN_NAME=*.918178.xyz # 传值时*不需要写为\* # --build-arg SCREEGO_EXTERNAL_IP=1.1.1.1 # RUN 通过 && 把合并成一条命令了,精简层数 # 给予应用执行权限 RUN chmod +x screego && \ # 复制配置示例文件 cp screego.config.example screego.config && \ # 并修改当前IP到配置文件中 # wget -qO - http://ipecho.net/plain | $(cat) sed -i "s/SCREEGO_EXTERNAL_IP=.*/SCREEGO_EXTERNAL_IP=${SCREEGO_EXTERNAL_IP}/g" screego.config && \ # 限制 TURN 服务器用于监听的端口(50000:55000) sed -i "s/SCREEGO_TURN_PORT_RANGE=.*/SCREEGO_TURN_PORT_RANGE=50000:55000/g" screego.config && \ # # 使用内部TLS,不需要可以禁用下方这四条 sed -i "s/SCREEGO_SERVER_TLS=.*/SCREEGO_SERVER_TLS=true/g" screego.config && \ # 证书 cert(crt) 所在路径(仅使用内部TLS时需要),路径带有/的需要使用\进行转义,设置为要证书的对应域名 sed -i "s/SCREEGO_TLS_CERT_FILE=.*/SCREEGO_TLS_CERT_FILE=\/screego\/key\/${SCREEGO_DOMAIN_NAME}.cer/g" screego.config && \ # 证书 key 所在路径(仅使用内部TLS时需要) sed -i "s/SCREEGO_TLS_KEY_FILE=.*/SCREEGO_TLS_KEY_FILE=\/screego\/key\/${SCREEGO_DOMAIN_NAME}.key/g" screego.config && \ # 用户所在路径(仅使用内部TLS时需要) sed -i "s/SCREEGO_USERS_FILE=.*/SCREEGO_USERS_FILE=\/screego\/user.txt/g" screego.config && \ # # 生成用户,并写入用户文件中,可以多加几条就是批量写入了(其他使用>>追加) ./screego hash --name "wj" --pass "ai773203918" > user.txt ./screego hash --name "abc" --pass "12356789" >> user.txt # 暴露端口 EXPOSE 5050 3478 3478/UDP # 提示挂载目录标签(会创建层,故禁用了) # LABEL SSL="/screego/key/" \ # USER="/screego/user.txt" \ # CONFIG="/screego/screego.config" # 启动服务 CMD ["./screego", "serve"] ``` ## 安装部署 桌面系统 [下载](https://github.com/screego/server/releases/) 后直接运行即可 若是服务器部署,使用 docker+alpine 进行部署,`这种方式容器重启后需要手动启动服务` ```bash # 在服务器执行 docker run -d --name screego --net=host -v $PWD/ScreeGo:/screego alpine # 拉取并运行 alpine docker exec -it screego /bin/sh # 进入 alpine # 在容器内执行 wget https://ghproxy.com/https://github.com/screego/server/releases/download/v1.8.0/screego_1.8.0_linux_amd64.tar.gz # 下载应用 tar -zxvf screego_1.8.0_linux_amd64.tar.gz # 解压 chmod +x screego # 给予应用执行权限 cp screego.config.example screego.config # 复制配置示例文件 ./screego serve # 运行应用 ./screego hash --name "wj" --pass "ai773203918" # 生成用户,还需手动填写到用户文件中 # 重启容器后还需手动启动一下这个服务,目前未解决 Alpine 的自启动脚本问题(使用自构建可以解决) ./root/screego serve # 启动服务 ``` 默认的端口为 5050 浏览器访问:https://[ip]:5050 >s 需准备文件:**.../screego.config**(screego配置文件)、**.../key/<证书>**(证书文件)、**.../user.txt**(用户账户文件) ## Docker 部署 注意 `公网使用的必须为静态公网`,否则更换地址后会失效 ```yaml version: '3.3' services: server: container_name: screego ports: - '5050:5050' environment: - SCREEGO_EXTERNAL_IP="<服务器的IP>" image: 'screego/server:1.8.0' ``` 必须使用反向代理才可使用 `nginx 配置` ```conf load_module /usr/lib/nginx/modules/ngx_stream_module.so; worker_processes auto; events { worker_connections 1024; accept_mutex on; } http { include mime.types; default_type application/octet-stream; upstream screego { # 对外的IP和端口 server 117.186.106.194:5055; } server { # 对外开放的端口 listen 5055 ssl http2; # 域名 server_name blynk.space; # SSL证书 ssl_certificate /home/nginxWebUI/cert/blynk.space_bundle.pem; ssl_certificate_key /home/nginxWebUI/cert/blynk.space.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; location / { # 连接到 ScreeGo 的连接 proxy_pass http://blynk.space:5050; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_redirect http:// $scheme://; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto http; proxy_set_header Host $http_host; } } } ``` ## 配置文件 `screego.config` 配置文件 ```config # ========================配置ScreeGo地址和端口=========================== # 配置外部IP # 如果同时使用IPv4+IPv6,中间使用`,`隔开 # 如果想要在托管服务器上知晓外部IP,可以使用下列命令 # curl 'https://api.ipify.org' # IPv4+IPv6示例: # 192.168.178.2,2a01:c22:a87c:e500:2d8:61ff:fec7:f92a SCREEGO_EXTERNAL_IP=117.186.106.194 # 是否启用内部TLS(true,false),Screego必须使用TLS # 你可以使用内部TLS或是proxy反向代理服务 SCREEGO_SERVER_TLS=true # 证书 cert(crt) 所在路径(仅使用内部TLS时需要) SCREEGO_TLS_CERT_FILE=/root/key/*.blynk.space.cer # 证书 key 所在路径(仅使用内部TLS时需要) SCREEGO_TLS_KEY_FILE=/root/key/*.blynk.space.key # http 服务将监听的地址 # 格式: # - host:port # 示例: 127.0.0.1:5050 # - unix socket (必须以unix:为前缀) # Example: unix:/my/file/path.socket SCREEGO_SERVER_ADDRESS=0.0.0.0:5050 # cookie 身份验证 SCREEGO_SECRET= # ========================配置TURN地址和端口=========================== # TURN 服务器将监听的地址 SCREEGO_TURN_ADDRESS=0.0.0.0:3478 # 限制 TURN 服务器用于监听的端口 # 格式: min:max # 示例: # 50000:55000 SCREEGO_TURN_PORT_RANGE=50000:55000 # 如果为true,TURN服务器将比较请求的远程IP与现有WebSocket连接的远程ip,如果没有则拒绝访问 SCREEGO_TURN_STRICT_AUTH=true # 使用外部 TURN 服务器,配置后 screego 将不会启动本地的 TURN服务器 # 如果同时使用IPv4+IPv6,中间使用`,`隔开 # 示例: # 192.168.178.2,2a01:c22:a87c:e500:2d8:61ff:fec7:f92a SCREEGO_TURN_EXTERNAL_IP= # 外部TURN服务器侦听的端口 SCREEGO_TURN_EXTERNAL_PORT=3478 # 外部TURN服务器的身份验证密钥 SCREEGO_TURN_EXTERNAL_SECRET= # ========================用户配置=========================== # Defines when a user login is required # Possible values: # all:始终需要用户登录 # turn:turn连接需要用户登录 # none:从不需要用户登录 SCREEGO_AUTH_MODE=turn # 定义用户文件的位置 # 文件格式: # user1:bcrypt_password_hash # user2:bcrypt_password_hash # 实例(wj:ai773203918): # wj:$2a$12$/UCo36F1KMuarcnFsJf2x.0VVE3QP.dJOa12nV5zqXmY.cI.A7C/i # # 用户密码对必须通过下列指令来生成 # screego hash --name "用户名" --pass "密码" SCREEGO_USERS_FILE=/screego/user.txt # ========================其他配置=========================== # 定义用户会话的有效时间(s) # 0 = 浏览器会话结束后会话无效 SCREEGO_SESSION_TIMEOUT_SECONDS=0 # 定义创建房间时 离开后自动关闭房间 的默认勾选 SCREEGO_CLOSE_ROOM_WHEN_OWNER_LEAVES=true # 是否应信任反向代理标头 # Scrego使用ip白名单进行身份验证 # TURN连接,当在代理后面时ip始终是代理服务器 # 要仍然允许白名单,必须启用此设置,并且`X-Real-Ip`标头必须由反向代理设置 SCREEGO_TRUST_PROXY_HEADERS=false # 定义允许访问Scrego(HTTP+WebSocket)的源,默认值对于大多数用例都足够了 # 示例值:https://screego.net,https://sub.gotify.net SCREEGO_CORS_ALLOWED_ORIGINS= # 日志级别(one of: debug, info, warn, error) SCREEGO_LOG_LEVEL=info # screego在/metrics处公开prometheus端点 # 端点需要用户文件中的用户进行基本身份验证 SCREEGO_PROMETHEUS=false ``` **相关教程:** [ScreeGo – 开源、可自托管,在线多人屏幕分享工具](https://www.appinn.com/screego-server/)
造物者W
2023年11月27日 18:52
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码