apt update
apt install docker-compose-plugin -y
#安裝docker composedocker compose ?version
Docker Compose version v2.38.2
sudo mkdir -p /sda1/data/mysql/conf.d
sudo chown -R 999:999 /sda1/data/mysql # MySQL 用戶 UID 通常為 999
cat docker-compose.yml?
version: '3.8'services:
? # MySQL 服務
? mysql:
? ? image: mysql:8.0
? ? container_name: mysql-server
? ? restart: always
? ? environment:
? ? ? MYSQL_ROOT_PASSWORD: 密碼 # 請修改為強密碼
? ? ? MYSQL_DATABASE: aipan_db
? ? ? MYSQL_USER: aipan_user
? ? ? MYSQL_PASSWORD: 密碼
? ? volumes:
? ? ? - /sda1/data/mysql:/var/lib/mysql ?# 數據持久化
? ? ? - /sda1/data/mysql/conf.d:/etc/mysql/conf.d ?# 配置文件掛載
? ? ports:
? ? ? - "3306:3306"
? ? networks:
? ? ? - app-network? # aipan-netdisk-search 服務
? aipan:
? ? image: unilei/aipan-netdisk-search:latest
? ? container_name: aipan-netdisk-search-app
? ? restart: always
? ? depends_on:
? ? ? - mysql
? ? environment:
? ? ? # 配置數據庫連接 URL,使用服務名 `mysql` 作為主機名
? ? ? DATABASE_URL: "mysql://aipan_user:密碼@mysql:3306/aipan_db?schema=public"
? ? ports:
? ? ? - "3000:3000"
? ? networks:
? ? ? - app-networknetworks:
? app-network:
? ? driver: bridge
?
docker compose up -d
?IP:3000訪問
速度更快的版本
AIPan網盤搜索應用部署指南
本文檔提供了AIPan網盤搜索應用的部署說明,包括系統要求、安裝步驟和配置選項。
系統要求
- Docker (20.10.0或更高版本)
- Docker Compose (v2或更高版本)
- 至少2GB RAM
- 至少10GB可用磁盤空間
- 互聯網連接(用于拉取Docker鏡像)
快速部署
1. 下載部署腳本
curl -O https://raw.githubusercontent.com/unilei/aipan.me/main/deploy.sh chmod +x deploy.sh2. 運行部署腳本
./deploy.sh3. 選擇部署選項
腳本將顯示以下選項:
===== AIPan網盤搜索部署腳本 =====1) 完整部署 (首次部署或重新部署)2) 更新配置 (僅修改配置并重啟服務)3) 運行數據庫遷移 (初始化或更新數據庫結構)4) 重新生成 Prisma 客戶端 (解決 Prisma 相關問題)5) 退出
對于首次部署,選擇選項
1
。部署過程詳解
完整部署
選擇選項
1
后,腳本將執行以下操作:
- 檢查Docker和Docker Compose是否已安裝
- 創建配置文件(.env和docker-compose.yml)
- 生成隨機管理員憑據(用戶名、密碼、JWT密鑰)
- 拉取所需的Docker鏡像
- 啟動應用服務
部署完成后,應用將在以下地址可用:
- Web應用:http://localhost:3000
- WebSocket:ws://localhost:3002
重要提示:管理員憑據將保存在
admin_credentials.txt
文件中,請妥善保管此文件!更新配置
如需修改配置,選擇選項
2
。此選項允許您:
- 編輯.env文件
- 重啟服務以應用新配置
運行數據庫遷移
如需初始化或更新數據庫結構,選擇選項
3
。此選項將:
- 檢查PostgreSQL容器是否運行
- 執行Prisma數據庫遷移
- 運行數據庫種子腳本
重新生成Prisma客戶端
如遇到Prisma相關問題,選擇選項
4
。此選項將:
- 重新生成Prisma客戶端
- 可選擇重啟應用以應用更改
配置選項
端口配置
默認情況下,應用使用以下端口:
- 應用端口:3000
- WebSocket端口:3002
您可以在部署過程中自定義這些端口。
環境變量
主要環境變量說明:
變量名 說明 默認值 ADMIN_USER 管理員用戶名 隨機生成 ADMIN_PASSWORD 管理員密碼 隨機生成 ADMIN_EMAIL 管理員郵箱 隨機生成 JWT_SECRET JWT密鑰 隨機生成 APP_PORT 應用端口 3000 WS_PORT WebSocket端口 3002 POSTGRES_USER PostgreSQL用戶名 postgres POSTGRES_PASSWORD PostgreSQL密碼 postgres POSTGRES_DB PostgreSQL數據庫名 aipan GitHub配置(可選)
如需啟用GitHub集成,請在.env文件中設置以下變量:
NUXT_PUBLIC_GITHUB_OWNER="您的GitHub用戶名或組織名" NUXT_PUBLIC_GITHUB_REPO="您的GitHub倉庫名" NUXT_PUBLIC_GITHUB_TOKEN="您的GitHub個人訪問令牌" NUXT_PUBLIC_GITHUB_BRANCH="您的GitHub分支名"
Quark配置(可選)
如需啟用Quark集成,請在.env文件中設置以下變量:
NUXT_PUBLIC_QUARK_COOKIE="您的Quark Cookie"
常見問題
端口沖突
如果默認端口已被占用,腳本將自動尋找可用端口。
數據庫認證失敗
如果遇到數據庫認證失敗的錯誤(如?
Authentication failed against database server, the provided database credentials for 'aipan' are not valid
),可能是因為:
- 自定義數據庫用戶未正確創建或缺少權限
- 數據庫連接字符串配置錯誤
解決方法:
- 運行部署腳本選項?
3
(運行數據庫遷移),這將自動修復用戶權限- 或者手動執行以下命令創建用戶并授權:
docker exec aipan-postgres psql -U postgres -c "CREATE USER aipan WITH PASSWORD 'aipan123';" docker exec aipan-postgres psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE aipan TO aipan;"表權限錯誤
如果遇到表權限錯誤(如?
permission denied for table ForumCategory
),表示數據庫用戶沒有足夠的權限訪問表。解決方法:
- 運行部署腳本選項?
3
(運行數據庫遷移),這將自動更新表權限- 或者手動執行以下命令授予表權限:
docker exec aipan-postgres psql -U postgres -d aipan -c "GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO aipan;" docker exec aipan-postgres psql -U postgres -d aipan -c "GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO aipan;"數據持久化
應用數據存儲在Docker卷中:
- PostgreSQL數據:postgres-data
- Redis數據:redis-data
查看日志
要查看應用日志,請運行:
docker-compose logs -f aipan-netdisk-search停止服務
要停止所有服務,請運行:
docker-compose down重啟服務
要重啟所有服務,請運行:
docker-compose restart高級用法
手動編輯配置
您可以直接編輯.env文件來修改配置,然后重啟服務:
nano .env docker-compose restart清理Docker資源
在部署過程中,您可以選擇清理無用的Docker資源,包括:
- 停止的容器
- 未使用的網絡
- 未使用的數據卷