用于方便回顾音声作品的工具网页
- 需要一个 postgres 数据库,本地或白嫖网上的都可以
- 运行的机器需要安装
pm2和bun - 或者直接使用 Docker
mkdir asmr-collections
cd asmr-collections
# 创建 covers 目录用于存放封面
mkdir covers
# 复制 docker-compose.yaml 文件到当前目录
curl -O https://raw.githubusercontent.com/kahosan/asmr-collections/main/docker-compose.yaml
# 修改 docker-compose.yaml 中的环境变量
# JINA_API_KEY 填入从 jina.ai 获取的 key
# 启动服务
docker compose up -d# 将 repo clone 到本地
git clone git@github.com:kahosan/asmr-collections.git
# 安装依赖
cd asmr-collections && pnpm i # npm i从 jina.ai 白嫖一个免费的 key
然后把 postgres 的连接 URL 和 jina 的 key 填入 .env 文件
使用 pm2 管理运行 app
pm2 start pnpm --name asmr-collections -- run server:build-startpnpm run server:build-start命令会重构建前端然后复制到 server 目录,并启动服务pnpm run server:build不会启动服务只会构建并复制pnpm run server只启动服务
可根据需要自行选择,不过一般只使用 server:build-start 即可
# 这一段是为了适配 SSE
location ~ ^/api/work/batch/(create|update) {
proxy_pass http://127.0.0.1:3000;
proxy_buffering off;
proxy_read_timeout 24h;
}
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Connection "";
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 X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;
}Important
网站内的所有删除操作都只会操作数据库,不会删除本地内容
当没有启用本地库时,会从 asmr.one 获取作品数据,并支持在线播放
本地库内的文件夹,都需要是以 RJ、VJ、BJ 号命名的文件夹,否则无法识别
第一次使用时可以在网站右上角的菜单 -> 设置中打开「使用本地音声库」选项,然后点击菜单里的「同步音声库」按钮
此操作可以将所有本地音声库的作品同步到数据库中
如果你经常在外访问家里的音声库,建议在设置中开启音频转码。这会将 WAV 以及 FLAC 自动转码为 AAC,以节省流量,转码的文件将会缓存在 transcode_cache 目录下,限制为最多 200 个缓存文件,超过后会删除最久未使用的缓存文件
转码功能需要配置 ffmpeg 的二进制文件,将其放入 transcode_cache 目录即可,二进制文件名称务必为 ffmpeg,否则无法识别(使用带有 libfdk_aac 的 ffmpeg 可以获得更好的优化)
当作品被添加的同时会使用 jina 的 api 将作品的信息向量化存入数据库中,在网站的搜索框左边有个闪电图标,点击后在搜索就是语义化搜索,实验性功能不保证可用性
- Docker 支持
...
- 非常感谢 asmr.one 的无私奉献