一、前言

大家好,我是攻城狮阿程。由于目前Aipan从上次写稿到现在已经过去将近三个月时间,这三个月的时间它增加了博客、Alist源添加以及后台管理等功能,并且其影视剧搜索及音乐搜索的逻辑和接口也有更新,于是今天给大家带来截至到2024年12月份,关于Aipan网盘聚合搜索的补充,作为2024年的最后一篇,同时Aipan作者考虑到广泛传播的影响现在已经对项目闭源,因此这篇大概率也是Aipan网盘聚合搜索项目的最后一篇了。

码字不易,喜欢我的教程欢迎各位多提建议多评论,畅所欲言,涉及破解、打倒美帝走近科学和资源分享的教程容易被和谐,也欢迎各位关注我的公众号和博客,以防走丢。

公众号:攻城狮阿程

知乎:攻城狮阿程

小红书:果冻橙是橘子吗の快乐生活

个人博客:strider1230.cn

淘宝:阿程数码

抖音:果冻橙是橘子吗

二、Aipan 的更新变化

2.1 Aipan 的新版本功能变化

Aipan 目前新增的功能主要有以下4点:

  • 在线观影:支持 Alist 聚合播放

  • 电视直播:内置部分 m3u8 视频源

  • 博客功能:支持博客功能

  • 本地音乐播放器:可以播本地音乐了

2.2 Aipan 新版安装方式变化的说明

由于该项目之前由fooololo老哥对Aipan项目作者unilei的镜像进行了重打包处理,所以比较好安装,但fooololo后期没有再对该项目进行维护更新了。因此对于新版本的Aipan项目,笔者此处建议是在极空间上采用虚拟机Ubuntu + 1Panel的方式进行部署,当然由于极空间目前开放了SSH,直接在极空间内采用Portianer + Docker Composed方式部署是可以的,当然如果有铁头娃就是直接想在极空间本身的Docker上安装也可以,毕竟条条大路通罗马。

2.3 Aipan 新版部署教程

由于原作者项目文件写的比较零散,整个安装过程以脚本方式进行,并且因为增加了博客功能和 Ailst 源功能,所以需要先部署PostgreSQL数据库并关联Aipan项目,不然就无法运行,而笔者更喜欢在1Panel上进行以Ubuntu + 1Panel虚拟机的方式进行演示,这里主要讲述以下两种部署方式。(容器无法拉取的问题请自行寻找可用代理解决)

2.3.1 1Panel 平台上直接镜像拉取的方式进行部署

第一步:首先打开1Panel的应用管理,选择数据库标签,找到PostgreSQL容器应用,点击安装按钮。

第二步:对PostgreSQL的设置如下图所示,注意一定要勾选端口外部访问PostgreSQL的端口保持默认即可,当然如果你想设置其他的也可以。

第三步:待PostgreSQL安装完毕后,点击1Panel面板左侧边栏的数据库选项卡,选择PostgreSQL标签页,点击创建数据库按钮。

第四步:数据库的配置参数可以参考下图。

第五步:点击1Panel面板左侧边栏的容器选项卡,选择镜像标签页,然后点击拉取镜像按钮。

第六步:拉取配置如下图,这里选择了wbsu2003/aipan-netdisk-search:latest而没有使用原作者的是因为原作者镜像存在无法登陆 Aipan后台管理的问题。

第七步:在拉取成功以后,我们点击容器标签页,然后点击创建容器按钮。

第八步:容器创建的配置如下图所示,容器内默认端口为3000,注意设置好容器外部访问的高位端口,此处我设置的是43111端口。

第九步:进行环境变量设置,以实现与之前搭建好的PostgreSQL数据库建立联系,设置好以后点击确认按钮完成配置。

环境变量

变量说明

ADMIN_USER

管理员用户名,用于登录后台管理系统

ADMIN_PASSWORD

管理员密码,用于登录后台管理系统

ADMIN_EMAIL

管理员的电子邮箱地址,通常用于密码重置或通知

JWT_SECRET

用于生成和验证 JSON Web Token (JWT) 的秘密密钥,确保用户身份验证的安全性

POSTGRES_DB

数据库库名

POSTGRES_USER

数据库用户

POSTGRES_PASSWORD

数据库密码

DATABASE_SCHEMA

数据库的架构名称,通常用于指定数据库的结构

DATABASE_URL

数据库连接字符串,用于连接到数据库

SHADOW_DATABASE_URL

用于 Prisma 的影子数据库连接字符串,通常在进行数据库迁移时使用,不配也可以。(应该没人会用这个容器来写博客吧,不会吧不会吧)

此处提供我配置的环境变量示例,为了安全性请自行修改:

# user
ADMIN_USER=admin
ADMIN_PASSWORD=123456strider
[email protected]

# app
JWT_SECRET=XnKZDR7OmPce9SxBjbPOqyMnMKDMdLLWNJP9iqsrYNk=

# db
POSTGRES_DB=aipandb
POSTGRES_USER=aipandb
POSTGRES_PASSWORD=123456aipan
DATABASE_SCHEMA=public
DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}

下图为环境变量的配置位置:

第十步:当容器状态显示为已启动时,恭喜你,Aipan的搭建完成了。

2.3.2 1Paenl 平台上使用编排 Composed 文件进行本地编译的方式部署

准备工作:Composed 方式部署的优势是没有很多步骤,简单粗暴,由于一些操作与2.3.1部分内容重合,此处从部署PostgreSQL前开始并只对有差异的部分进行讲解。采用1Panel编排 docker-compose 的方式安装,请先将下列内容根据自身情况进行调整后复制到剪贴板中。

version: "3.8"

services:
  aipan-netdisk-search:
    image: carolcoral/aipan-netdisk-search:1.0.0
    container_name: aipan-netdisk-search-app
    restart: on-failure:3 # 确保容器在停止后自动重启
    build:
      context: ./aipan-netdisk-search/ # 构建上下文,通常是 Dockerfile 所在的目录
      dockerfile: Dockerfile # Dockerfile 的名称
      args:
        ADMIN_USER: ${ADMIN_USER}
        ADMIN_PASSWORD: ${ADMIN_PASSWORD}
        ADMIN_EMAIL: ${ADMIN_EMAIL}
        JWT_SECRET: ${JWT_SECRET}
        DATABASE_URL: ${DATABASE_URL}
        DATABASE_SCHEMA: ${DATABASE_SCHEMA}
    ports:
      - "43111:3000" # 映射容器的 3000 端口到宿主机的 3000 端口
    environment:
      ADMIN_USER: ADMIN_USER
      ADMIN_PASSWORD: ADMIN_PASSWORD
      ADMIN_EMAIL: NUXT_ADMIN_EMAIL
      JWT_SECRET: JWT_SECRET
      DATABASE_SCHEMA: DATABASE_SCHEMA
      DATABASE_URL: DATABASE_URL
      SHADOW_DATABASE_URL: DATABASE_URL
      NODE_ENV: dev
      NUXT_ADMIN_USER: NUXT_ADMIN_USER
      NUXT_ADMIN_PASSWORD: NUXT_ADMIN_PASSWORD
      NUXT_ADMIN_EMAIL: NUXT_ADMIN_EMAIL
      NUXT_JWT_SECRET: NUXT_JWT_SECRET
      NUXT_DATABASE_URL: DATABASE_URL
    networks:
      aipan_search_network:
    depends_on:
      - aipan-search-db
    links:
      - aipan-search-db
      
  aipan-search-db:
    container_name: aipan-search-db
    image: postgres:15.4
    restart: on-failure:3
    networks:
      aipan_search_network:
    volumes:
      - ./db:/var/lib/postgresql/data
    healthcheck:
      test: [ "CMD", "pg_isready" ]
      interval: 10s
      timeout: 5s
      retries: 5
    environment:
      - POSTGRES_PASSWORD=POSTGRES_PASSWORD
      - POSTGRES_USER=POSTGRES_USER
      - POSTGRES_DB=POSTGRES_DB
      - PGUSER=PGUSER

networks:
  aipan_search_network:
    driver: bridge

第一步:点击1Panel面板左侧边栏的容器选项卡,选择编排标签页,然后点击创建编排按钮。

第二步:文件夹名称填写aipan,将剪贴板上的内容黏贴进编辑框中,点击确认按钮,完成部署。

三、Aipan 新增功能简单介绍

3.1 本地音乐播放器

主页面上直接就可以看见,可以选择你电脑上的音乐文件夹进行上传,点击后的界面如下图所示:

3.2 后台管理

在浏览器中输入 http://Ubuntu虚拟机IP:43111/login 就能看到后台界面。

输入我们在环境变量中设置的邮箱和密码就可以登录了,登录后的界面如下图所示。

3.3 网盘管理

这个功能我绑定了自己的夸克网盘后发现好像没啥用,但是我猜测的应该是为了扩大搜索范围的,就如果你本身手上有别人分享的大量网盘资源的话,是可以直接添加上的,这样你搜索的时候就应该是能读出来(只是猜测)。

3.4 博客管理

点击博客管理按钮后会跳转到博客文章管理界面,点击新建文章按钮以后就可以用这个容器应用写文章了,写好的文章可以通过访问主页-我的博客页面来进行浏览,难道是用来写影评?

3.5 Alist 源管理

这个功能可以让你自己添加支持匿名访问的Alist源或者是你自己的Alist源。点击 添加数据源按钮。

名称:此处填写你添加的Alist源的名称

源链接:切记不要以 / 结尾,一般复制网址都会带,记得删掉,否则会刷不出列表,并且这里得是公网地址或者是内穿后的域名,如果是内穿的话还得带宽特别大才行,建议还是有公网IP的人可以添加自己的。阿程这里为了便于演示,添加了日负斗金Alist网盘。(我的内穿带宽根本不够套这个容器来跑小雅超集的,咱不配)

添加成功后,在主页点击电视TV按钮切换到 tv 界面,点击下方的红色开关即可打开电视机。

左侧的频道按钮处可以选择你刚刚添加的Alist源里面的内容,这里我在设置中选择刚刚添加的日负斗金的网盘。

我们选择一部电影观看,就异人之下吧。

能够直接读取播放,开心。

四、一些常见问题的答疑

Q1:为何我用音乐搜索功能无法进行搜索?

A:这个是目前这个版本的容器的bug,建议是等过完年作者再重启项目修复吧。

Q2:为何我无法切换TV源?

A:项目的电视TV页面目前无法切换m3u源,并且内置的部分源已经失效,想用内置的源建议是等过完年作者再重启项目后修复吧。

Q3:可以使用一级域名或者搭建到公网吗?

A:非常不建议这样操作,除非你想被叫去喝茶。

五、结语

本文在之前对 Aipan 容器项目进行教程的基础上,继续补充更新了最新的部署和使用方法,以及可能会遇到的一些问题。如果你的极空间是 Z4Pro 性能版、Z423 标准版及以上,那么机器长期运行该容器是没有压力的。

如果你感觉搭建困难或者有其他需求,也可以扫描下方的二维码光临小店,我会有偿帮你部署和配置。