安裝
使用 Docker Compose 在五分鐘內安裝 milmil。
前置需求
- Docker Desktop 或帶有 Compose 插件的 Docker Engine
- 約 2 GB 磁碟空間(用於映像檔與應用程式資料)
- ≥ 1 GB 可用記憶體
FFmpeg 已內建於 milmildev/milmil-api 映像檔中,主機上無需另行安裝。
使用 Docker 安裝
複製儲存庫
git clone https://github.com/milmil-dev/milmil.git
cd milmil建立環境變數檔案
milmil 使用兩個各司其職的環境變數檔案:
| 檔案 | 用途 |
|---|---|
.env(儲存庫根目錄) | Compose 層:埠號、掛載路徑、Postgres 認證資訊 |
api/.env | 執行期密鑰:JWT_SECRET、DATABASE_URL、Redis、整合設定 |
cp .env.example .env
cp api/.env.example api/.env產生 JWT 密鑰(必填)
API 要求 JWT_SECRET 至少 32 個字元,否則將拒絕啟動。
openssl rand -hex 32將輸出結果貼到 api/.env 中的 JWT_SECRET= 那一行。
同時設定 MILMIL_ENCRYPTION_KEY — 再次執行 openssl rand -hex 32,將結果貼到 api/.env 的 MILMIL_ENCRYPTION_KEY= 那一行。此金鑰用於加密已儲存的儲存憑證(rclone token、OAuth)。若未設定,則回退使用 JWT_SECRET。
驗證
docker compose ps每一列均應顯示 running 或 healthy。
curl http://localhost:8080/health
# {"status":"ok","version":"1.0.0"}開啟應用程式
前往 http://localhost:3000,依照首次設定精靈建立管理員帳號並新增媒體庫。
進階設定
預設的 Compose 設定使用 SQLite。如需切換至 Postgres:
-
編輯
api/.env:DATABASE_URL=postgres://milmil:change_me_postgres_password@postgres:5432/milmil?sslmode=disable -
使用
postgresprofile 啟動:docker compose --profile postgres up -d
所有 Compose profile 的說明請參閱 Docker 參考。
疊加 docker-compose.dev.yml,從本機簽出建置映像檔而非拉取已發布版本:
docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d --build在 api/.env 中新增以下兩個變數:
ADMIN_USER=admin
ADMIN_PASSWORD=your-strong-password首次啟動時,若使用者資料表為空,milmil 將自動建立此管理員帳號。首次啟動後請刪除這兩個變數,以免密碼明文留存於磁碟上。
前置需求:Go 1.27+、Bun 1.3+、FFmpeg 已加入 $PATH。
後端:
cd api
go build -o milmil-api ./cmd/server
export JWT_SECRET=$(openssl rand -hex 32)
./milmil-api前端:
cd web
bun install
bun run build
# Serve web/dist from Nginx, Caddy, or any static host.將前端的 VITE_API_URL 指向 API 主機位址。api/.env.example 中列出的所有環境變數均適用。