主要是为了记录一些好玩的,方便自己用的,顺便分享一下使用到的代码。
本文的都是docker的部分。
alist github:https://github.com/Xhofe/alist
alist docker:https://hub.docker.com/r/xhofe/alist
Panindex github:https://github.com/libsgh/PanIndex
Panindex docker:https://hub.docker.com/r/iicm/pan-index
SRS:https://github.com/ossrs/srs
更多内容看下面内容吧
正常安装宝塔面板,去宝塔面板的应用商店安装docker就行,当然aaPanel也可以
如果aaPanel的docker出现这个错误 Currently not installed docker or docker-compose, click install
终端执行
ls -al /usr/local/bin/docker-compose /usr/bin/docker-compose /usr/libexec/docker/cli-plugins/docker-compose
然后用终端执行下面的命令就行
alist
alist默认账号:admin
默认密码首次安装会在终端上出现,如果没看到可以手动运行
docker exec -it alist ./alist admin
3.25.0以上版本将密码改成加密方式存储的hash值,无法直接反算出密码,如果忘记了密码只能通过重新 随机生成 或者 手动设置
# 随机生成一个密码
docker exec -it alist ./alist admin random
# 手动设置一个密码,`NEW_PASSWORD`是指你需要设置的密码
docker exec -it alist ./alist admin set NEW_PASSWORD
安装命令
docker pull xhofe/alist-aria2
sudo docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist-aria2:latest
docker安装的alist挂载本地存储的命令,是多加一个 -v,以及后面加上实际位置和挂载位置
比如我打算把 /www/wwwroot/cloud 这个真实目录,挂载到/cloud上,命令大概如下
sudo docker run -d --restart=always -v /etc/alist:/opt/alist/data -v /www/wwwroot/cloud:/cloud -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist-aria2:latest
之后,去alist里面,添加挂载本地存储的时候,目录写 /cloud 就行了
更新方法
docker stop alist
docker rm alist
docker pull xhofe/alist-aria2
sudo docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist-aria2:latest
Panindex
默认账号:admin
密码:PanIndex
后续更新只需要下面的那段就行
docker pull iicm/pan-index
docker pull iicm/pan-index:latest
docker stop PanIndex
docker rm PanIndex
docker run -itd \
--restart=always \
--name PanIndex \
-p 5238:5238 \
-v /home/single/data/docker/data/PanIndex/data:/app/data \
-e PORT="5238" \
iicm/pan-index:latest
最后在宝塔面板添加网站,然后给网站设置里面添加反代理就行
分别是 http://127.0.0.1:5244 和 http://127.0.0.1:5238
看上面代码的端口号就懂了。
加一个emby的命令
docker pull emby/embyserver
docker run -d \
--name embyserver \
--volume /path/to/programdata:/config \
--volume /path/to/share1:/mnt/share1 \
--volume /path/to/share2:/mnt/share2 \
--net=host \
--publish 8096:8096 \
--publish 8920:8920 \
--env UID=1000 \
--env GID=100 \
--env GIDLIST=100 \
emby/embyserver:latest
emby是反代理8096
上面的 --volume /path/to/share2:/mnt/share2 \ 是文件夹挂载点
可以修改前面的路径为你网盘路径,后面的不用管,然后去emby里设置媒体库添加后面的就行了。
建议添加反代理后,删掉默认的配置信息,用这个
#PROXY-START/
location ~* \.(gif|png|jpg|css|js|woff|woff2)$
{
proxy_pass http://127.0.0.1:8096;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
expires 12h;
}
client_max_body_size 10000M;
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 $scheme;
proxy_set_header Sec-WebSocket-Extensions $http_sec_websocket_extensions;
proxy_set_header Sec-WebSocket-Key $http_sec_websocket_key;
proxy_set_header Sec-WebSocket-Version $http_sec_websocket_version;
proxy_cache off;
proxy_redirect off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:8096;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_ssl_verify off;
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
#PROXY-END/
顺便加一个docker版的NextCloud网盘安装
docker pull nextcloud
docker run -d --restart=always -p 5757:80 -v /mnt/sde/nextcloud:/var/www/html --name nextcloud nextcloud
然后新建域名反代理就行了,如果app登录提示不允许http登录什么的,打开 /mnt/sde/nextcloud/config ,编辑 config.php
在合适的位置添加一句这个,然后去docker里面,重载和重启一下nextcloud
'overwriteprotocol' => 'https',
这个是Jellyfin的,也是反代理就行
docker pull jellyfin/jellyfin
docker run -d -p 8096:8096 -v /jellyfin/config:/config -v /jellyfin/media:/media jellyfin/jellyfin
顺便补一个直播工具owncast的docker
owncast:https://github.com/owncast
docker pull gabekangas/owncast:latest
docker run -v `pwd`/data:/app/data -p 8080:8080 -p 1935:1935 -it gabekangas/owncast:latest
默认账号 admin 密码 abc123
当然升级则是
docker stop owncast
docker rm owncast
docker pull gabekangas/owncast:latest
docker run -v `pwd`/data:/app/data -p 8080:8080 -p 1935:1935 -it gabekangas/owncast:latest
SRS Cloud,算是个人版的直播平台吧,还是转发什么的,高级功能还可以搞视频会议什么的,主要还是搭建个人直播平台用,和上面的owncast有相似功能地方。
不过我这里用的是srs的,加上网页的版本的,比原版的SRS功能多点。
docker:https://hub.docker.com/r/ossrs/srs-cloud
docker run --rm -it -p 2022:2022 -p 1935:1935/tcp -p 1985:1985/tcp \
-p 8080:8080/tcp -p 8000:8000/udp -p 10080:10080/udp -v $HOME/db:/data \
--name srs-cloud ossrs/srs-cloud:5
之后可以用 http://你的ip地址:2022/mgmt 打开后台,第一打开可以设置密码。
至于绑定域名什么的,可以点这里的教程:https://ossrs.net/lts/zh-cn/faq-srs-stack
ChatGPT-Next-Web
一个免费的GPT的UI,有各种系统的客户端,作者好像推荐用vercel的方法,具体可以看github,这里只说一下docker的方法。
github:https://github.com/Yidadaa/ChatGPT-Next-Web
docker pull yidadaa/chatgpt-next-web
docker run -d -p 3000:3000 \
-e OPENAI_API_KEY=sk-xxxx \
-e CODE=your-password \
yidadaa/chatgpt-next-web
Mattermost
一个聊天工具,既像一个企业OA,又像discord之类的频道样式,还可以安装插件之类的,总之可以试着玩玩。
github上star蛮多,docker版的好像是预览版,当然不排除后期也有正式版什么的,可以打开github看看,如果喜欢可以选择其他方式安装下。
这是docker的安装代码
docker run --name mattermost-preview -d --publish 8065:8065 mattermost/mattermost-preview
Pandora
一个多平台的工具,为了能让你更加顺畅的使用GPT。
很多平台和系统都有,比如windows版的,安卓版的,python版的之类的,这里只说docker的。
github:https://github.com/pengzhile/pandora
更多说明和使用方法:https://github.com/pengzhile/pandora/blob/master/doc/wiki.md
docker run -it -d --rm -e PANDORA_CLOUD=pandora-cloud -e PANDORA_SERVER=0.0.0.0:8018 -p 8018:8018 pengzhile/pandora
olive
一个用来自动检测主播是否开播,以及开播后自动录制的工具
国内的直播平台用可以装到NAS上,国外的直播平台就搞个国外大硬盘的VPS吧。
github:https://github.com/go-olive/olive
这里说一下,如果只安装核心工具,那么就需要使用终端,以及终端后台命令来检测是否开播,不太适合萌新
所以有一个网页版的,稍微适合萌新一点,这是附带网页端的方法
新建一个文件,起名为 docker-compose.yaml
内容为下面内容,可能后续有更新,可以点这里查看最新版本:https://go-olive.github.io/docs/guide/web/
总之,新建一个文件,内容如下
version: "3.8"
services:
olive-db:
image: postgres:14-alpine
container_name: olive-db
restart: always
ports:
- 127.0.0.1:5432:5432
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
volumes:
- ./pgdata:/var/lib/postgresql/data
networks:
- olive-network
olive-server:
image: luxcgo/olive:latest
container_name: olive-server
depends_on:
- olive-db
ports:
- 127.0.0.1:3000:3000
- 127.0.0.1:4000:4000
command:
[
"./olive",
"server",
"--db-host",
"olive-db:5432",
"-l",
"/downloads",
"-s",
"/downloads",
]
volumes:
- "/etc/timezone:/etc/timezone:ro"
- "/etc/localtime:/etc/localtime:ro"
- ./downloads:/downloads
- ./config:/config
networks:
- olive-network
olive-portal:
image: luxcgo/olive-portal:latest
container_name: olive-portal
depends_on:
- olive-server
ports:
- "8080:8080"
# volumes:
# - ./config/default.conf:/etc/nginx/conf.d/default.conf
networks:
- olive-network
networks:
olive-network:
之后用终端在文件的目录执行
docker-compose up -d olive-db
docker-compose up -d olive-server
docker-compose up -d olive-portal
之后用8080端口就可以打开网页端了,默认账号密码都是olive,记得更改密码
最后就是在网页端内添加需要想要检测并录制的直播间就行了。
kplayer
一个用来推流视频到直播平台的工具,比较适合用在NAS上,给NAS的视频循环推流到直播平台。
推荐NAS,因为可以用核显。
这里就基本介绍NAS的方法,以群晖为例,其他的系统方式基本也差不多。
给群晖去套件中心安装docker,然后去docker的注册表里搜索 kplayer
因为某些原因,可能会提示注册表搜索失败什么的,所以你可以用你的办法去下载安装,不管是给群晖临时加个局域网代理,又或者直接使用国内的镜像源,都可以,此处不多说。
github:https://github.com/bytelang/kplayer-go
总之,找到这个的,安装就行。
之后就是给这个添加一些文件映射什么的,大概这样
其中,上面提到的 /docker/kplayer/config.json 实际路径的文件,需要自己新建,文件内容大概如下
{
"version":"2.0.0",
"resource":{
"lists":[
"/video/67373/2023/20230722.mp4",
"/video/67373/2021/20210206.mp4",
"/video/67373/2021/20210320.mp4",
"/video/67373/Onlysongs/20230130songs.mp4"
],
"extensions":[
"mp4"
]
},
"play":{
"play_model":"random",
"encode":{
"video_width":960,
"video_height":540,
"video_fps":25,
"audio_channel_layout":3,
"audio_sample_rate":44100,
"bit_rate":3500000,
"avg_quality":0
}
},
"output":{
"reconnect_internal":30,
"lists":[
{
"path":"rtmps://yourmtpserver/yourkeys",
"unique":"ChatCYF"
}
]
},
"plugin":{
"lists":[
{
"path":"show-filename",
"unique":"my_plugin",
"params":{
"fontcolor":"red"
}
}
]
}
}
上面的内容,视频内容可以自己添加,下面的推流地址记得改,此配置设置的是随机播放,可以自行添加修改视频,以及推流视频的分辨率以及帧数。
推流的视频越高清,用的上传带宽和硬件消耗越大。
既然说到了NAS,就随便推荐一个破解版的emby,还是老样子,在注册表里搜索 emby,找到这一个
启动也是开始设置端口,以及文件夹映射什么的,基本就是把你存电影的文件夹映射过去就行了。
可以参考这里:https://www.mfpud.com/topics/11079/
Restreamer
一个跟直播流有关的工具,简单说,大概用途是,可以搭建一个RTMP流媒体服务器,并且可以把自己推流转发到其他直播平台,多转也可以。
还可以直接把流媒体直接盗播给另外的平台什么的,自己研究吧。
github:https://github.com/datarhei/restreamer
docker 代码
docker run -d --restart=always --name restreamer \
-v /opt/restreamer/config:/core/config \
-v /opt/restreamer/data:/core/data \
-p 8080:8080 -p 8181:8181 \
-p 1935:1935 -p 1936:1936 \
-p 6000:6000/udp \
datarhei/restreamer:latest
安装之后,用域名反代理 8080 端口,这里8080 是http的,8181是https的,这个https的基本也不用,直接用域名转发了。
第一次打开后,点击下面唯一的链接,就可以创建账号和密码了。
Icecast
一个网络电台,如果用的debian或者ubuntu系统,可以直接通过终端安装,详情点这里:https://www.mfpud.com/topics/12913/
这里说一下宝塔docker的安装方式,先拉取镜像
docker pull pltnk/icecast2
之后需要手动去 /path/to/your/ 这个目录,手动新建一个 icecast.xml 文件
之后运行
docker run --name icecast2 -d --restart=always \
--publish 1354:1354 \
--volume /path/to/your/icecast.xml:/etc/icecast2/icecast.xml \
pltnk/icecast2
接下来去docker的容器的path里面,找到 /etc/icecast2/icecast.xml 这个文件,修改好端口以及密码后保存,再手动和/path/to/your/icecast.xml的文件进行内容复制,或者文件覆盖。
之后去docker的容器里面,把icecast2重启一下。
bililive-go
一个录制多个直播平台直播的工具,B站抖音什么的都支持。
github:https://github.com/hr3lxphr6j/bililive-go
Docker安装命令,使用方法看github的
docker run -d \
--name bililive-go \
--restart unless-stopped \
-v /www/wwwroot/bililive:/srv/bililive \
-p 8080:8080 \
chigusa/bililive-go
幻兽帕鲁 Palworld 的服务器端Docker版搭建
来自:https://hub.docker.com/r/pasharp/pal_server
sudo docker run -d --restart=always -u game -v /data:/opt/palworld/Pal/Saved -p 8211:8211/udp pasharp/pal_server /home/game/Steam/steamapps/common/PalServer/PalServer.sh
几个Docker面板
https://github.com/portainer/portainer
https://github.com/gohutool/docker.ui
https://www.docker.com/products/docker-desktop/