Skip to content

kahosan/asmr-collections

Repository files navigation

ASMR Collectinos

normal

用于方便回顾音声作品的工具网页

准备事项

  • 需要一个 postgres 数据库,本地或白嫖网上的都可以
  • 运行的机器需要安装 pm2bun
  • 或者直接使用 Docker

使用方法

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-start
  • pnpm run server:build-start 命令会重构建前端然后复制到 server 目录,并启动服务
  • pnpm run server:build 不会启动服务只会构建并复制
  • pnpm run server 只启动服务

可根据需要自行选择,不过一般只使用 server:build-start 即可

Nginx 配置示例

# 这一段是为了适配 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_aacffmpeg 可以获得更好的优化)

向量搜索

当作品被添加的同时会使用 jina 的 api 将作品的信息向量化存入数据库中,在网站的搜索框左边有个闪电图标,点击后在搜索就是语义化搜索,实验性功能不保证可用性

TODO

  • Docker 支持

...

感谢

About

A simple ASMR audio work favorites, supports local audio libraries and online playback of ASMR.ONE content

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •  

Languages