n1 armbian docker compose 部署aipan mysql

apt update
apt install docker-compose-plugin -y
#安裝docker compose

docker 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-network

networks:
? 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.sh

2. 運行部署腳本

./deploy.sh

3. 選擇部署選項

腳本將顯示以下選項:

===== AIPan網盤搜索部署腳本 =====1) 完整部署 (首次部署或重新部署)2) 更新配置 (僅修改配置并重啟服務)3) 運行數據庫遷移 (初始化或更新數據庫結構)4) 重新生成 Prisma 客戶端 (解決 Prisma 相關問題)5) 退出

對于首次部署,選擇選項1

部署過程詳解

完整部署

選擇選項1后,腳本將執行以下操作:

  1. 檢查Docker和Docker Compose是否已安裝
  2. 創建配置文件(.env和docker-compose.yml)
  3. 生成隨機管理員憑據(用戶名、密碼、JWT密鑰)
  4. 拉取所需的Docker鏡像
  5. 啟動應用服務

部署完成后,應用將在以下地址可用:

  • Web應用:http://localhost:3000
  • WebSocket:ws://localhost:3002

重要提示:管理員憑據將保存在admin_credentials.txt文件中,請妥善保管此文件!

更新配置

如需修改配置,選擇選項2。此選項允許您:

  1. 編輯.env文件
  2. 重啟服務以應用新配置

運行數據庫遷移

如需初始化或更新數據庫結構,選擇選項3。此選項將:

  1. 檢查PostgreSQL容器是否運行
  2. 執行Prisma數據庫遷移
  3. 運行數據庫種子腳本

重新生成Prisma客戶端

如遇到Prisma相關問題,選擇選項4。此選項將:

  1. 重新生成Prisma客戶端
  2. 可選擇重啟應用以應用更改

配置選項

端口配置

默認情況下,應用使用以下端口:

  • 應用端口:3000
  • WebSocket端口:3002

您可以在部署過程中自定義這些端口。

環境變量

主要環境變量說明:

變量名說明默認值
ADMIN_USER管理員用戶名隨機生成
ADMIN_PASSWORD管理員密碼隨機生成
ADMIN_EMAIL管理員郵箱隨機生成
JWT_SECRETJWT密鑰隨機生成
APP_PORT應用端口3000
WS_PORTWebSocket端口3002
POSTGRES_USERPostgreSQL用戶名postgres
POSTGRES_PASSWORDPostgreSQL密碼postgres
POSTGRES_DBPostgreSQL數據庫名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),可能是因為:

  1. 自定義數據庫用戶未正確創建或缺少權限
  2. 數據庫連接字符串配置錯誤

解決方法

  • 運行部署腳本選項?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資源,包括:

  • 停止的容器
  • 未使用的網絡
  • 未使用的數據卷

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/90611.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/90611.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/90611.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

RAG情境化分段向量模型voyage-context-3,聚焦分段細節,融入全局文檔上下文

最近看到一個有意思的工作,原文來自: https://blog.voyageai.com/2025/07/23/voyage-context-3/?utm_sourceTWITTER&utm_mediumORGANIC_SOCIAL voyage-context-3:聚焦分段細節,融入全局文檔上下文 概要: Voyage A…

計算機體系結構中的中斷服務程序ISR是什么?

計算機體系結構中的中斷服務程序ISR是什么? 在計算機體系結構中,中斷服務程序(Interrupt Service Routine, ISR) 是操作系統或硬件直接調用的關鍵代碼模塊,用于響應來自硬件設備、軟件異常或系統事件的中斷信號。其核心…

開源項目XBuilder前端框架

spx-gui/ 配置文件package.json 項目依賴和腳本配置vite.config.ts Vite構建工具配置tsconfig.json TS項目配置主文件tsconfig.app.json 應用程序的TS配置tsconfig.node.json Node.js環境的TS配置index.html 應用入口HTML文件src/ 源碼目錄main.ts 應用入口文件,初始…

0723 單項鏈表

Part 1.完成單向鏈表,并完成下面功能1.單鏈表節點創建鏈表是物理空間上不連續的一個結構,需要創建一個next作為指向下一個節點的指針,所以需要建立一個結構體包含數據域,next指針域,記錄長度的數據域。因為長度只有頭節…

基于 ASP.NET Web 應用程序(.NET Framework)的花店系統

1.1功能模塊實現1.1.1整體結構界面由兩部分組成:左側導航欄、右側內容展示區。使用了 Bootstrap 5 的樣式庫,并結合了 ASP.NET MVC 的 Html.ActionLink 和 Razor 條件判斷語句來動態生成菜單項。1.1.2導航欄功能模塊導航欄基礎結構導航欄基礎結構使用 Bo…

C++ Qt6 CMake qml文件啟動方式說明

在Qt6之后,Qt程序默認使用CMake進行構建,當然也可以使用qmake, 本篇博客介紹Qt6.8之前和Qt6.8版本中QtQuick程序的啟動方式。 在QtQuick程序main.cpp里qml的文件啟動分為兩種:(1)直接加載qml文件,(2)加載qml模塊,下面分別介紹這兩種啟動方式。 方式1:直接啟動qml文…

字符串 “asdasjkfkasgfgshaahsfaf” 經過哈夫曼編碼之后存儲比特數是多少?

要計算字符串 “asdasjkfkasgfgshaahsfaf” 經過哈夫曼編碼后的存儲比特數,需按以下步驟進行:步驟 1:統計字符出現頻率先統計字符串中每個字符的出現次數:a:出現 6 次s:出現 6 次d:出現 1 次j&a…

什么是游戲盾(高防版)?

隨著網絡游戲產業的快速發展,游戲服務器的安全問題日益受到關注。DDoS攻擊、CC攻擊等網絡威脅常常導致游戲卡頓、斷線甚至服務器宕機,嚴重影響玩家體驗。游戲盾(高防版)是一種專為游戲業務設計的網絡安全防護服務,集成…

openGauss數據庫在CentOS 7 中的單機部署與配置

部署 版本選擇 通過openGuass官網下載地址 ,我們可以看到它支持x86_64與Aarch64兩種平臺,又分成openEuler 22、openEuler 20、Centos 7以及Docker 版本。 進入CentOS 7標簽,看到又分成企業版、輕量版、極簡版與分布式鏡像版。 本文只討論…

HTTP響應狀態碼詳解

HTTP 響應狀態碼(HTTP Status Code)是服務器在響應客戶端請求時返回的 3 位數字代碼,用于表示請求的處理狀態。以下是常見的 HTTP 狀態碼及其含義: 1xx(信息性狀態碼) 表示請求已被接收,需要繼…

Pytorch中register_buffer和torch.nn.Parameter的異同

說下register_buffer和Parameter的異同 相同點方面描述追蹤都會被加入 state_dict(模型保存時會保存下來)。與 Module 的綁定都會隨著模型移動到 cuda / cpu / float() 等而自動遷移。都是 nn.Module 的一部分都可以通過模塊屬性訪問,如 self…

吉吉巳資源整站源碼完整打包,適用于搭建資源聚合/整合類站點,全網獨家,拿來就用

想要搭建一個資源整合站點,如影視聚合類站點、資訊聚合類站點、圖集聚合類站點等,需要花費大量的時間來查找合適的系統或源碼。然后要去測試,修復bug,一直到能夠正常的運營使用,花費的時間絕對不短,今天分享…

嵌入式學習的第三十五天-進程間通信-HTTP

TCP/IP協議模型:應用層:HTTP;傳輸層:TCP UDP;網絡層:IPv4 IPv6網絡接口層一、HTTP協議1. 萬維網WWW(World Wide Web) 世界范圍內的,聯機式的信息儲藏所。 萬維網解決了獲取互聯網上的數據時需要解決的以下問題&#x…

es 和 lucene 的區別

1. Lucene 是“發動機”,ES 是“整車”Lucene:只是一個 Java 庫,提供倒排索引、分詞、打分等底層能力。你必須自己寫代碼處理索引創建、更新、刪除、分片、分布式、故障恢復、API 封裝等所有邏輯。Elasticsearch:基于 Lucene 的分…

AS32S601 系列 MCU芯片GPIO Sink/Source 能力測試方法

一、引言隨著電子技術的飛速發展,微控制器(MCU)在工業控制、汽車電子、商業航天等眾多領域得到了廣泛應用。國科安芯推出的AS32S601 系列 MCU 以其卓越的性能和可靠性,成為了眾多設計工程師的首選之一。為了確保其在實際應用中的穩…

JAVA-08(2025.07.24學習記錄)

面向對象類package com.mm;public class Person {/*** 名詞-屬性*/String name;int age;double height;/*** 動詞-方法*/public void sleep(String add) {System.out.println("我在" add "睡覺");}public String introduce() {return "我的名字是&q…

地下隧道管廊結構健康監測系統 測點的布設及設備選型

隧道監測背景 隧道所處地下環境復雜,在施工過程中會面臨圍堰變形、拱頂沉降、凈空收斂、初襯應力變化、土體塌方等多種危險情況。在隧道營運過程中,也會受到材料退化、地震、人為破壞等因素影響,引發隧道主體結構的劣化和損壞,若不…

node.js卸載與安裝超詳細教程

文章目錄一、卸載Step1:通過控制面板刪除node版本Step2:刪除node的安裝目錄Step3:查找.npmrc文件是否存在,有就刪除。Step4:查看以下文件是否存在,有就刪除Step5:打開系統設置,檢查系…

飛算JavaAI“刪除接口信息” 功能:3 步清理冗余接口,讓管理效率翻倍

在飛算JavaAI的接口設計與管理流程中,“刪除接口信息” 功能為用戶提供了靈活調整接口方案的便利。該功能的存在,讓用戶能夠在接口生命周期的前期(審核階段)及時清理無需創建的接口,保證接口管理的簡潔性與高效性。一、…

行業熱點丨SimLab解決方案如何高效應對3D IC多物理場與ECAD建模挑戰?

半導體行業正快速超越傳統2D封裝技術,積極采用 3D集成電路(3D ICs)和2.5D 先進封裝等方案。這些技術通過異構芯粒、硅中介層和復雜多層布線實現更高性能與集成度。然而,由于電子計算機輔助設計(ECAD)數據規…