1 前言
这几天在找vps好玩的项目,找到了docker安装的windows和linux,不过都需要vps支持kvm才可以,基本只有独立服务器才可以.这两天接触到一个好玩的项目neko,官方名字叫n.eko
neko官网文档:https://neko.m1k1o.net/docs/v3/introduction
neko项目地址:https://github.com/m1k1o/neko
这个项目可以在docker运行一个浏览器,而且是可以后台放置的.目前我可以想到的用途就是用来放一个油管速度截图装X,或者刷课这种用途(或者是有异地两个人同时看一个网页的奇怪需求).如果需要国外IP访问某些网站,直接挂代理就行.可能有些网站有IP和延迟等考虑这个项目也可以运行.
由于vps本地运行带UI的浏览器比较吃配置,neko官方的推荐配置如下
管理员可以在 GUI 中更改分辨率。docker安装的时候可以摇摆一下.
分辨率@刷新率
核心
内存
推荐
1024×576@30
2
2GB
不推荐
1280x720@30
4
3GB
表现良好
1280x720@30
6
4GB
受到推崇的
1280x720@30
8
4GB+
最佳表现
2 安装
2.1 安装docker
如果你的服务器上已经有docker了,那就不用看2.1,直接看2.2就行.如果没有docker,需要安装docker
① 更新源
yum update -y && yum upgrade -y #Centos执行这条命令
apt update -y && apt upgrade -y #Ubuntu/Debian执行这条命令
② 安装docker及docker compose
curl -fsSL https://get.docker.com -o get-docker.sh && sh ./get-docker.sh
③ 检查docker是否安装成功
SSH运行 docker compose version ,如果出现类似于Docker Compose version v2.32.1即为安装成功.
2.2 neko镜像说明
neko镜像分为两种,第一种是GitHub容器镜像仓库 (GHCR)
里面包含了所有版本和架构的稳定版本。
第二种是AMD64 架构的最新 Neko 镜像开发版本可在Docker Hub上获取。
也就是说docker hub上的只有amd64的镜像
关于镜像版本,作者有可以gpu加速的以及版本控制,可以去作者的说明页看看:https://neko.m1k1o.net/docs/v3/installation/docker-images#flavors
Docker Hub上提供了一个备用镜像仓库。此镜像仓库托管基于主分支中最新代码构建的镜像。但是,它仅包含无风格的镜像,并且支持 AMD64 架构。这些镜像的命名约定如下:
m1k1o/neko:
2.3 docker-cli 安装
可以使用docker-cli,或者使用docker-compose,如果使用docker cli安装就不用看2.4了,如果使用docker-compose安装,就不用看2.3了,直接看2.4.
使用docker run安装比较方便,下面是安装firefox版本的示例
docker run -d \
--restart unless-stopped \
--name neko \
--shm-size="2gb" \
-p 8080:8080 \
-p 52000-52100:52000-52100/udp \
-e NEKO_PASSWORD='neko' \
-e NEKO_PASSWORD_ADMIN='admin' \
-e NEKO_NAT1TO1=127.0.0.1 \
-e NEKO_SCREEN=1920x1080@30 \
-e NEKO_ICELITE=1 \
-e NEKO_EPR=52000-52100 \
m1k1o/neko:firefox
不要直接安装,需要修改一下参数
主要参数的说明
--shm-size=2gb 是必须要,表示将共享内存的大小设置为 2GB,可以自行修改.
--cap-add SYS_ADMIN :如果你采用的是 chromium 核心的浏览器版本,需要增加 --cap-add=SYS_ADMIN 参数,如果是安装Firefox则不需要.
NEKO_PASSWORD :是普通用户的密码,可以自行修改.
NEKO_PASSWORD_ADMIN:是管理员 admin 的密码,可以自行修改.
NEKO_NAT1TO1 :
如果你在局域网使用,设置为的局域网 IP 即可;
如果你在公网使用,设置为你的公网 IP;
NEKO_SCREEN:设置分辨率,可以保持默认.
NEKO_ICELITE:使用 Ice Lite 协议
NEKO_EPR: WebRTC 所需的 UDP 端口范围
NEKO_FILE_TRANSFER_ENABLED:如果要启用文件传输功能,需设置为 true
m1k1o/neko:firefox:测试下来firefox不会黑屏,使用别的浏览器可能会黑屏,这点可以自己设置chromium等,最好还是firefox
最后,如果服务器有防火墙,需要放行对应端口,注意本文设置中的52000-52100是UDP端口.如果搭建好了无法访问,看看你的翻墙软件是不是代理了这个网页并且屏蔽了UDP
2.4 docker-compose安装
如果使用docker-compose安装,就看这里,如果使用docker-cli安装完成就不用看2.4了.
将下面的内容保存为 docker-compose.yml 文件
下面是安装firefox版本的示例,后面还有安装chromium的示例
services:
neko:
image: "ghcr.io/m1k1o/neko/firefox:latest"
restart: "unless-stopped"
shm_size: "2gb"
ports:
- "8080:8080"
- "52000-52100:52000-52100/udp"
environment:
NEKO_DESKTOP_SCREEN: '1920x1080@30'
NEKO_MEMBER_MULTIUSER_USER_PASSWORD: neko
NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD: admin
NEKO_WEBRTC_EPR: 52000-52100
NEKO_WEBRTC_ICELITE: 1
NEKO_WEBRTC_NAT1TO1:
安装chromium的示例
services:
neko:
image: "ghcr.io/m1k1o/neko/chromium:latest"
restart: "unless-stopped"
shm_size: "2gb"
cap_add:
- SYS_ADMIN
ports:
- "8080:8080"
- "52000-52100:52000-52100/udp"
environment:
NEKO_DESKTOP_SCREEN: '1920x1080@30'
NEKO_MEMBER_MULTIUSER_USER_PASSWORD: neko
NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD: admin
NEKO_WEBRTC_EPR: 52000-52100
NEKO_WEBRTC_ICELITE: 1
NEKO_WEBRTC_NAT1TO1:
主要参数的说明看2.3的讲解
# 新建文件夹 neko
mkdir -p /volume1/docker/neko
# 进入 neko 目录
cd /volume1/docker/neko
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
2.5 使用
此时访问 YOUR_IP:8080 就可以看到登录界面,普通用户和管理员只有密码的区别,登录的用户名随便起,输入对应的密码即可.
左下角可以切换语言,但是中文依旧失效,输入法也无法输入中文.可以在右侧剪切板里面输入你要看的内容.
3 其余的特色
3.1 插件配置
插件可以配置聊天和文件传输,具体可以看作者文档
https://neko.m1k1o.net/docs/v3/configuration/plugins