Movera 是一個專為影音收藏家設計的智慧檔案管理工具,旨在自動化您的媒體檔案整理流程。透過與多個下載器的無縫整合,Movera 能夠在下載完成後,根據您自訂的規則,自動將檔案移動到指定資料夾並進行標準化重新命名。
它結合了 Vue 3 打造的現代化 Web UI、由 FastAPI 驅動的高效能後端 API,以及穩定的背景任務處理系統,提供了一個完整且易於使用的解決方案。
對於熟悉容器化操作的使用者,使用 Docker 是最快且最推薦的啟動方式。
拉取映像 (Pull Image):
從 Docker Hub 拉取最新的 Movera 映像。
docker pull thanatosdi/movera:latest
準備資料夾:
在您選擇的位置建立兩個資料夾,用於存放 Movera 的資料庫和儲存檔案。
mkdir -p ./database
mkdir -p ./storages
執行容器 (Run Container):
執行以下指令來啟動 Movera 容器。請根據您的需求修改 <HOST_PORT>。
docker run -d \
-p <HOST_PORT>:8000 \
-v $(pwd)/database:/movera/database \
-v $(pwd)/storages:/movera/storages \
-v <downloader_path>:/download \
-v <storages_path>:/storages \
--name movera \
thanatosdi/movera:latest
-d: 在背景執行容器。-p <HOST_PORT>:8000: 將您主機的 <HOST_PORT> 連接埠映射到容器固定的 8000 連接埠。例如,使用 -p 8888:8000,您就可以透過 http://localhost:8888 訪問 Movera。-v $(pwd)/database:/movera/database: (必要) 將主機上存放資料庫檔案的 database 資料夾掛載到容器中。-v $(pwd)/storages:/movera/storages: (必要) 將主機上用於存儲的 storages 資料夾掛載到容器中。-v <downloader_path>:/download: (必要) 將主機上用於下載檔案的資料夾掛載到容器中。-v <storages_path>:/storages: (必要) 將主機上用於存儲檔案的資料夾掛載到容器中。或使用 compose.yaml 來啟動容器
services:
movera:
image: thanatosdi/movera:latest
container_name: movera
ports:
- "<HOST_PORT>:8000"
volumes:
- ./database:/movera/database
- ./storages:/movera/storages
restart: unless-stopped
ports 區塊建議完整寫清楚主機內網 IP 位址,例如 127.0.0.1:8000:8000 與 192.168.1.10:8000:8000 之類的;如果只填寫 8000:8000 表示任何來源的主機都可以繞過防火牆 8000 埠進行訪問。訪問 Movera:
容器啟動後,您可以透過瀏覽器訪問 http://localhost:<HOST_PORT> 來開啟 Movera 的 Web UI。
qBittorrent 設定:
登入您的 qBittorrent Web UI,進入 選項 -> 下載 -> 下載完成時執行外部程式,並填入以下指令:
curl -X POST http://<MOVERA_HOST_IP>:<HOST_PORT>/webhook/qbittorrent/on-complete -H "Content-Type: application/json" -d '{"filepath": "%F"}'
請將 <MOVERA_HOST_IP> 替換為執行 Movera 容器的主機的 IP 位址,並將 <HOST_PORT> 替換為您在 docker run 指令中設定的連接埠。
Movera 提供了一套完整的 RESTful API 來管理系統。您可以在應用程式啟動後,訪問 http://localhost:8000/docs 來查看詳細的 OpenAPI (Swagger) 文件。
GET /api/v1/tasks: 獲取所有任務。POST /api/v1/task: 建立一個新任務。GET /api/v1/task/{task_id}: 獲取單一任務的詳細資訊。PUT /api/v1/task/{task_id}: 更新一個現有任務。DELETE /api/v1/task/{task_id}: 刪除一個任務。GET /api/v1/settings: 獲取所有設定。PUT /api/v1/settings: 更新多個設定。POST /webhook/qbittorrent/on-complete: qBittorrent 的 Webhook 接收端點。如果您想為 Movera 貢獻程式碼或進行二次開發,請遵循以下步驟設定您的本機開發環境。
安裝 Python: 確保您已安裝 Python 3.12 或更高版本。
安裝 uv: 本專案使用 uv 作為套件管理器。請參考 uv 官方文件 進行安裝。
建立虛擬環境並安裝依賴:
# 建立虛擬環境
uv venv
# 安裝依賴
uv sync --locked
啟動後端伺服器:
uv run uvicorn api.main:app --reload
安裝 Node.js: 確保您已安裝 Node.js 22.x 或更高版本。
安裝依賴:
npm install
啟動前端開發伺服器:
npm run dev
設定環境變數:
在前端開發伺服器中,您可以設定環境變數 VITE_API_BASE_URL 來指定後端 API 的基本 URL。例如:
VITE_API_BASE_URL="http://localhost:8000"
設定完成後,後端 API 將運行在 http://localhost:8000,前端開發伺服器將運行在 http://localhost:5173 (或 Vite 指定的其他連接埠)。
Content type
Image
Digest
sha256:08f46f592…
Size
100.8 MB
Last updated
6 months ago
docker pull thanatosdi/movera