ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Sunshine串流服务Docker部署实战:三步从零搭好你的远程游戏平台

Sunshine串流服务Docker部署实战:三步从零搭好你的远程游戏平台 Sunshine串流服务Docker部署实战三步从零搭好你的远程游戏平台【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine想在手机、平板上随时接续主机里的游戏进度Sunshine 就是那个帮你把电脑变成家庭游戏服务器的开源串流服务端配合 Moonlight 客户端即可实现远程畅玩。更重要的是它支持自托管而用 Docker 部署后几乎不用在宿主机上手动折腾编译和依赖。本文按选镜像→起容器→日常运维三步推进零基础也能跟着照做。为什么串流服务端要装进容器裸机安装 Sunshine 时你得自己处理编码器、系统库等一系列环境问题升级一次还可能把环境搞乱、难以回滚。容器化之后Sunshine 连同运行环境被整体打包进官方镜像lizardbyte/sunshine主机上只需要保留一份配置目录。想升级就换镜像重启想回退就拉回旧版本迁移到新机器也只是复制配置的事——这体验比手工安装省心太多。第一步选对镜像标签避开新版命名规则如果你翻到过老教程可能会照着写latest直接拉镜像。但从v0.18.0 版本起Sunshine 官方收紧了镜像标签规则不再提供latest、master、vX.X.X这类单一标签必须使用「版本-操作系统」的组合格式。版本部分支持具体版本号如v0.18.0、latest最新稳定版、master开发分支甚至某个 commit hash操作系统部分可选archlinux、debian-bookworm、ubuntu-22.04、ubuntu-24.04日常使用图省事直接写latest-ubuntu-22.04即可想复现稳定环境就锁定具体版本例如v0.18.0-ubuntu-22.04。另外官方镜像也常被当作基础镜像二次封装很多项目会这样写ARG SUNSHINE_VERSIONv0.18.0 ARG SUNSHINE_OSubuntu-22.04 FROM lizardbyte/sunshine:${SUNSHINE_VERSION}-${SUNSHINE_OS} # 按需安装 steam、wayland 协议等配套软件 RUN apt-get update apt-get install -y steam wayland-protocols第二步一条命令搞定端口映射与 GPU 直通验证环境最快的方式就是直接用docker run拉起一个容器。下面这条命令基本涵盖了所有关键点docker run -d \ --name sunshine \ --restartunless-stopped \ --ipchost \ --device /dev/dri \ -e TZAsia/Shanghai \ -e PUID1000 \ -e PGID1000 \ -v /path/to/config:/config \ -p 47984-47990:47984-47990/tcp \ -p 48010:48010 \ -p 47998-48000:47998-48000/udp \ lizardbyte/sunshine:latest-ubuntu-22.04逐个拆开看端口47984-47990TCP是核心服务段其中47990 对应 Web 管理界面48010与47998-48000UDP负责媒体流和输入传输。若宿主端口被占用改映射关系的左侧即可比如-p 8080:47990把管理界面挪到 8080GPU 直通--device /dev/dri把显卡设备交给容器串流画面才能走硬件加速而不是靠 CPU 硬扛权限映射PUID/PGID指定容器内进程的身份建议与宿主机上拥有配置目录的用户保持一致省得后面出现写入权限报错时区TZ决定日志时间显示建议显式声明配置持久化/config目录务必挂载到宿主机所有设置都存在这里删容器也不会丢启动成功后浏览器访问http://主机IP:47990会看到首次设置页面按提示设置用户名和密码串流服务就算正式上岗了。第三步用 Docker Compose 把配置固化下来命令行适合临时验证长期运行更推荐 Compose——参数写进 YAML 文件一键起停还能纳入版本管理version: 3 services: sunshine: image: lizardbyte/sunshine:latest-ubuntu-22.04 container_name: sunshine restart: unless-stopped ipc: host devices: - /dev/dri:/dev/dri environment: - PUID1000 - PGID1000 - TZAsia/Shanghai volumes: - /path/to/config:/config ports: - 47984-47990:47984-47990/tcp - 48010:48010 - 47998-48000:47998-48000/udp之后升级只需两步先docker compose pull拉取新镜像再docker compose up -d重建容器。动手升级前记得备份/config目录它就是你配置的全部家当。再进一步Podman 与免 root 运行如果你用的是 Podman无守护进程、可免 root 运行命令与 Docker 基本同构只需额外加一个--usernskeep-id保持用户映射一致podman run -d \ --usernskeep-id \ --device /dev/dri \ -e PUID1000 -e PGID1000 -e TZAsia/Shanghai \ -v /path/to/config:/config \ -p 47984-47990:47984-47990/tcp \ -p 48010:48010 \ -p 47998-48000:47998-48000/udp \ lizardbyte/sunshine:latest-ubuntu-22.04参数与硬件架构速查参数实际作用是否必需-p 47990:47990Web 管理界面入口必填-v /config配置持久化目录必填--device /dev/driGPU 直通硬件加速编码强烈建议--ipchost共享内存降低画面拷贝开销建议PUID/PGID容器内用户身份映射建议TZ时区与日志时间可选架构支持方面Archlinux 目前只提供 x86_64 镜像Debian Bookworm、Ubuntu 22.04 与 Ubuntu 24.04 均同时提供 x86_64 和 ARM64 两个版本树莓派等 ARM 设备优先选 Debian 系镜像即可。日常运维日志、升级与清理看日志执行docker logs -f sunshine实时追踪输出串流失败时先来这里翻记录升级沿用前面提到的pull up -d组合拳旧容器会自动被替换彻底卸载docker rm -f sunshine删除容器再手动清掉挂载的配置目录即可常见问题排雷画面不走加速先确认宿主机显卡驱动正常、/dev/dri设备存在且已直通给容器端口被占用改宿主机侧映射端口如8080:47990无需动容器内部写入报错执行chown -R 1000:1000 /path/to/config修正目录属主运行异常Web 管理界面的日志页通常直接给出线索比如编码器未找到之类的错误写在最后几个值得长期坚持的习惯生产环境锁定具体版本而非latest定期备份配置目录串流游戏时把 Steam 也装进容器与 Sunshine 保持同网络方便互通顺手给容器加上 CPU/内存上限避免后台服务吃满整机资源。更完整的构建与排障细节可以翻一翻项目里的docs/building.md与docs/troubleshooting.md。照着这套组合拳走下来你的 Sunshine 串流服务就能稳稳地长期运行了。【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表