爱盼部署 红薯丸子,公众号:红薯丸子Nas上部署的网盘搜索工具:爱盼
上一次说到的网盘搜索工具:爱盼,有的同学说作者的最新版还有后台管理和music搜索功能,我看了下,确实是有。但是因为dockerhub上没有最新版的成品镜像,所以得自己部署,麻烦了一点。下面就介绍一下过程吧,有热心的同学打包了发布仓库欢迎留言说下,并贴下你的compose代码,我这懒我就不弄了,因为如果作者更新了又得打包。我这里就教下正常的docker文件的构建流程。
github开源页:
安装搭建
本次部署还是在飞牛nas的docker compose环境下
其他nas需对应修改映射目录部署
本次部署本着尽量简单的方式,不用ssh去docker compose build了,把所有指令都尽量集成进了compose代码里
把压缩包上传nas,建立好目录层级,压缩包里的文件都放在你的项目主目录aipan下,如图所示
上传下面这个我修改好的.env环境变量文件到主目录
# .env
# Application Configuration
ADMIN_USER=aipan
ADMIN_PASSWORD=aipan123456
ADMIN_EMAIL=aipan@email.com
JWT_SECRET=aipannetdisk
DATABASE_SCHEMA="aipan"
SCHEMA="aipan"
db_SCHEMA="aipan"
DATABASE_URL=postgresql://user_CixFGy:password_t4phPG@192.168.1.112:25432/aipan?schema=aipan&pgbouncer=true&connect_timeout=15
SHADOW_DATABASE_URL=""
# PostgreSQL Configuration
POSTGRES_USER=user_CixFGy
POSTGRES_PASSWORD=password_t4phPG
POSTGRES_DB=aipan
下面这部分代码是可以修改的,你看的懂英文你就随便改,其他的别动。这里192.168.1.112:25432是对应后面要建立的postgres容器的对外端口地址,必须改成你对应的内网ip
ADMIN_USER=aipan
ADMIN_PASSWORD=aipan123456
ADMIN_EMAIL=aipan@email.com
JWT_SECRET=aipannetdisk
DATABASE_SCHEMA="aipan"
SCHEMA="aipan"
db_SCHEMA="aipan"
DATABASE_URL=postgresql://user_CixFGy:password_t4phPG@192.168.1.112:25432/aipan?schema=aipan&pgbouncer=true&connect_timeout=15
POSTGRES_USER=user_CixFGy
POSTGRES_PASSWORD=password_t4phPG
这里先安装数据库容器postgresql,你已经有了可以跳过这步,把数据库ip和端口对应修改上面的环境变量,没有的往下看
数据库容器postgresql的docker compose代码:
services:
postgres:
image: postgres:13
container_name: postgres-container
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
ports:
- "25432:5432"
volumes:
- ./postgres-data:/var/lib/postgresql/data
刚才的.env文件也扔一个一样的到postgresql的主目录下
postgresql容器正常运行后,再部署aipan,compose代码如下:
services: aipan-netdisk-search: image: unilei/aipan-netdisk-search:latest container_name: aipan-netdisk-search-app privileged: true restart: always build: context: . dockerfile: Dockerfile args: ADMIN_USER: ${ADMIN_USER} ADMIN_PASSWORD: ${ADMIN_PASSWORD} ADMIN_EMAIL: ${ADMIN_EMAIL} JWT_SECRET: ${JWT_SECRET} DATABASE_SCHEMA: ${DATABASE_SCHEMA} DATABASE_URL: ${DATABASE_URL} SHADOW_DATABASE_URL: ${SHADOW_DATABASE_URL} ports: - "3000:3000" extra_hosts: - "kwapi.aipan.me:104.21.40.16" environment: ADMIN_USER: ${ADMIN_USER} ADMIN_PASSWORD: ${ADMIN_PASSWORD} ADMIN_EMAIL: ${ADMIN_EMAIL} JWT_SECRET: ${JWT_SECRET} DATABASE_SCHEMA: ${DATABASE_SCHEMA} DATABASE_URL: ${DATABASE_URL} SHADOW_DATABASE_URL: ${SHADOW_DATABASE_URL}
这里我做了个host定向,不然music搜索不到(我反正不定向搜索是空白,因为他搜索api优先是去解析到了一个17开头的ip,这个ip我连不上),后期如果谁部署成功后music搜索空白,可能是host定向ip变了,对应你修改下就是。
当然host定向对nas能全球通的同学来说可以不用管
这里还有个文件dockfile,需要替换aipan主目录下的dockerfile文件,代码如下,这里修改也是增加了下npm和pnpm的镜像源,不然大部分同学大概率编译不了:
FROM node:18-alpine
LABEL authors="Lei"
WORKDIR /app
# 配置 npm 镜像源,安装 pnpm
RUN npm config set registry https://registry.npmmirror.com/ && \
npm install -g pnpm && \
pnpm config set store-dir ~/.pnpm-store && \
pnpm config set registry https://registry.npmmirror.com/
# 复制 package.json 和 package-lock.json
COPY package*.json ./
# 使用 pnpm 安装依赖
RUN pnpm install
COPY . .
# 定义构建时的变量
ARG ADMIN_USER
ARG ADMIN_PASSWORD
ARG ADMIN_EMAIL
ARG JWT_SECRET
ARG DATABASE_URL
ARG DATABASE_SCHEMA
ARG SHADOW_DATABASE_URL
# 将构建时的变量设置为环境变量
ENV ADMIN_USER=${ADMIN_USER}
ENV ADMIN_PASSWORD=${ADMIN_PASSWORD}
ENV ADMIN_EMAIL=${ADMIN_EMAIL}
ENV JWT_SECRET=${JWT_SECRET}
ENV DATABASE_URL=${DATABASE_URL}
ENV DATABASE_SCHEMA=${DATABASE_SCHEMA}
ENV SHADOW_DATABASE_URL=${SHADOW_DATABASE_URL}
RUN echo $DATABASE_URL
RUN echo $SHADOW_DATABASE_URL
# 设置 Prisma 引擎镜像源
ENV PRISMA_ENGINES_MIRROR="https://registry.npmmirror.com/-/binary/prisma"
# RUN npm install
RUN npx prisma generate
RUN npx prisma migrate deploy
RUN npm run build
# Set NuxtJS system variables so the application can be reached on your network
ENV NUXT_HOST=0.0.0.0
ENV NUXT_PORT=3000
WORKDIR /app
EXPOSE 3000
CMD [ "npm", "run", "start" ]
构建完成后,ip:3000是主页面,/login是后台页面,用之前环境变量设置的用户邮箱aipan@email.com,密码aipan123456就登录进去了
可以添加自己的网盘资源
还可以编写简单的博客
music在主页面的右上角图标
这个,如果部署过程中出现什么后台管理打不开什么问题,就不要纠结了,反正你用的也少,我也很难发现你错在哪一步了,能有music就可以了
本篇相关yml等文件下载链接:https://gitee.com/hswz5525/dockercompose
如果文章对你有帮助
欢迎点赞、关注、分享
文章底部nas合集目录中有更多应用文章
有好的建议或者需求也可以底部留言告诉我,知无不言,互助共进
文章评论