手把手教你在飞牛NAS上通过Docker Compose部署EmulatorJS网页模拟器。从创建目录、编写YAML配置,到上传ROM、配置手柄,详解打造私人复古游戏库的全过程,支持N64、PS1、GBA等数十种平台。

什么是EmulatorJS?
EmulatorJS 是一款专为复古游戏爱好者打造的开源 Web 端模拟器,不用装复杂客户端,打开浏览器就能秒回童年!它基于 JavaScript 和 WebAssembly 技术,兼容任天堂 N64/DS/GBA、世嘉 MD / 土星、街机、雅达利等数十种经典平台,《魂斗罗》《超级玛丽》《三国战记》这些神作都能轻松拿捏。
原始项目地址:https://github.com/EmulatorJS/EmulatorJS
体验地址:https://demo.emulatorjs.org
有什么特点?
EmulatorJS支持拖拽ROM直接加载,自带存档读档、手柄和键盘映射、CRT 滤镜、屏幕录制等实用功能,最多能支持 4 人同玩,还能自定义虚拟按键适配手机触摸屏。不管是在电脑、平板还是手机上,主流浏览器都能流畅运行,能通过 Docker 自托管搭建专属游戏库,或嵌入个人网站分享给好友。纯前端运行无广告,操作零门槛,让数码玩家用最便捷的方式,重温经典游戏的
部署新建存储目录
安装之前需先在docker文件夹中新建一个EmulatorJS文件夹,用于配置持久化保存,后面所有相关文件都存在这里。

编写compose文件
打开飞牛docker--compose--新增项目--项目名称(填EmulatorJS,可识别即可),来源选择创建docker-compose.yml,将下面代码复制粘贴到代码框,勾选创建项目后立即启动,点击确定:
services:
emulatorjs:
image: linuxserver/emulatorjs:1.9.2
container_name: emulatorjs
ports:
- "4398:3000"
- "4399:80"
volumes:
- './config:/config'
- './data:/data'
restart: always
注意:
- 如果
linuxserver/emulatorjs:latest拉取不了的话可将版本改成linuxserver/emulatorjs:1.9.2,然后再拉取就行了。 - 4398:3000 -->这个是配置端口,冒号前面自己改成本地没被占用的任何端口
- 4399:80 -->这个是游戏打开端口,冒号前面自己改成本地没被占用的任何端口

创建并启动镜像
创建--等待镜像拉取完成--显示容器运行中,说明创建成功

- 打开浏览器,输入
nasip:4398,访问容器,比如我的就是192.168.1.46:4398。

登录后需要下载默认文件集,直接点击Download,下载模拟器支持文件。

出现Downloaded All Files就说明下载完毕,点击右边黑点关闭就行。

然后点击上面的file management,左边会出现很多不同的模拟器分类,根据你下载的rom选择支持的分类。

我这里就以N64为例,选择n64,会出现一个文件目录,在roms文件夹那里右键,选址upload,上传我们下载好的rom。

我这里就在网盘上随便选一个下来来试试。

上传后就是这样,可以单个上传,也可以批量。

上传后就会在首页rom management 看到上传的rom类型和个数。

点击scan ,会对游戏进行扫描。

游戏名称显示比较完整,可识别度非常高。

此时左边会出现我们上传的游戏类型,点击这个类型。


点击Add All Roms to Config将游戏Rom添加到游戏列表,至此EmulatorJs的配置基完成。
游戏体验
打开浏览器,输入nasip:4399,访问容器,比如我的就是192.168.1.46:4399 ,进入游戏界面,注意这里是80端口对应的那个端口。`

点击右边的游戏类型,打开游戏列表就可以使用键盘上下左右选择游戏

然后直接开玩儿了。

这个界面中按好f1还能进入详细设置。

最后,这容器还支持游戏手柄,可以将体验拉到最大。
「模拟器及ROM汇总」
资源收集于网络,如有侵权,联系我删除,链接:https://pan.quark.cn/s/1cff02efda6d
觉得内容不错?我要






