独立部署(零依赖)
独立部署
独立部署模式使用 SQLite 数据库和内存缓存,无需安装 MySQL、Redis 等外部服务,适合个人使用和快速体验。
下载
前往项目 Release 页面,下载对应平台的预编译二进制文件:
| 平台 | 架构 | 文件名示例 |
|---|---|---|
| Linux | x86_64 | mliev-iam_Linux_x86_64.tar.gz |
| Linux | ARM64 | mliev-iam_Linux_arm64.tar.gz |
| Linux | LoongArch | mliev-iam_Linux_loong64.tar.gz |
| macOS | Intel | mliev-iam_Darwin_x86_64.tar.gz |
| macOS | Apple Silicon | mliev-iam_Darwin_arm64.tar.gz |
| Windows | x86_64 | mliev-iam_Windows_x86_64.zip |
| Windows | ARM64 | mliev-iam_Windows_arm64.zip |
# 下载并解压(以 Linux x86_64 为例)
wget <release-url>/mliev-iam_Linux_x86_64.tar.gz
tar -xzf mliev-iam_Linux_x86_64.tar.gz
chmod +x mliev-iam配置
创建 config.yaml 配置文件(最小配置,使用 SQLite):
app:
installed: false
server:
mode: release
addr: ":8080"
database:
driver: sqlite
filepath: "./data/mliev_iam.db"
cache:
driver: memory
jwt:
secret: "请替换为一个随机的长字符串"
expire_hours: 24启动
./mliev-iam首次启动后访问 http://localhost:8080,按照安装向导完成初始化设置。
Systemd 服务(Linux)
创建服务文件 /etc/systemd/system/mliev-iam.service:
[Unit]
Description=MLiev IAM Service
After=network.target
[Service]
Type=simple
User=mliev-iam
WorkingDirectory=/opt/mliev-iam
ExecStart=/opt/mliev-iam/mliev-iam
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target # 启用并启动服务
sudo systemctl enable mliev-iam
sudo systemctl start mliev-iam
# 查看状态
sudo systemctl status mliev-iam
# 重载配置(不停机)
sudo systemctl reload mliev-iam
Nginx 反向代理
server {
listen 443 ssl;
server_name auth.example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
}
}重要:使用反向代理时,必须在
config.yaml中将oidc.issuer设置为外部访问地址(如https://auth.example.com),并确保 Nginx 传递X-Forwarded-Proto和X-Forwarded-Host头部。
从源码构建
如果需要自行编译:
# 仅编译后端
make build-go
# 编译前端 + 后端(需要 Node.js 22+ 和 pnpm)
make all生成的可执行文件为 ./mliev-iam。