安裝
用 Docker Compose 喺五分鐘內裝好 milmil。
前置條件
- Docker Desktop 或帶 Compose 插件嘅 Docker Engine
- 約 2 GB 磁碟空間(鏡像同應用資料)
- ≥ 1 GB 可用記憶體
FFmpeg 已打包喺 milmildev/milmil-api 鏡像入面,主機上唔使另外安裝。
用 Docker 安裝
Clone 倉庫
git clone https://github.com/milmil-dev/milmil.git
cd milmil建立環境變數檔案
milmil 用兩個各有職責嘅環境變數檔案:
| 檔案 | 控制範圍 |
|---|---|
.env(倉庫根目錄) | Compose 層:端口、Volume 路徑、Postgres 憑證 |
api/.env | 執行時密鑰:JWT_SECRET、DATABASE_URL、Redis、整合設定 |
cp .env.example .env
cp api/.env.example api/.env生成 JWT 密鑰(必填)
API 需要至少 32 個字元嘅 JWT_SECRET,否則唔會啟動。
openssl rand -hex 32將輸出嘅結果貼到 api/.env 入面嘅 JWT_SECRET= 那行。
同時要設定 MILMIL_ENCRYPTION_KEY — 再跑一次 openssl rand -hex 32,將結果貼到 api/.env 嘅 MILMIL_ENCRYPTION_KEY= 那行。呢個 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,由本地 checkout 建置鏡像而唔係拉取已發布嘅版本:
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 入面列出嘅所有環境變數都適用。