入门
安装
使用 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 中列出的所有环境变量均适用。