imgLi 文档

安装

安装

支持:安装脚本、Docker 预构建镜像、Docker Compose、从源码构建。产物为 单二进制(前端 go:embed),默认 SQLite,无 CGO。

系统要求

方式要求
二进制 / Docker无编译依赖;Linux amd64/arm64、macOS amd64/arm64;Windows 有 Release zip
源码构建Go ≥ 1.26、Node ≥ 24、make

默认监听 :8686,数据目录默认 ./data(Docker 镜像内为 /data)。

1. 安装脚本(推荐自托管)

脚本从 GitHub Release 下载对应平台产物,默认装到 ~/.local/bin

curl -fsSL https://raw.githubusercontent.com/yixian-huang/imgli/main/scripts/install.sh | sh
变量 / 参数含义
sh -s -- v0.1.1固定 tag
PREFIX=/pathIMGLI_INSTALL_DIR安装目录
IMGLI_REPO默认 yixian-huang/imgli(一般不用改)

验证:

imgli version
imgli serve -config /path/to/imgli.yaml   # 可选配置文件

Windows:从 Releases 下载 Windows_*.zip,或在 Git Bash 下跑同一脚本。

2. Docker 预构建镜像

docker run -d --name imgli --restart unless-stopped \
  -p 8686:8686 \
  -v imgli-data:/data \
  -e IMGLI_BASE_URL=https://img.example.com \
  -e IMGLI_TRUST_PROXY=true \
  ghcr.io/yixian-huang/imgli:latest

健康检查:容器内对 http://127.0.0.1:8686/healthz 探测(镜像已带 HEALTHCHECK)。

3. Docker Compose

仓库根目录:

git clone https://github.com/yixian-huang/imgli && cd imgli
# 生产建议改 compose 使用固定 image tag,而不是本地 build
docker compose up -d

docker-compose.yml 默认挂载 imgli-data volume、暴露 8686。可按注释打开 Postgres 与 IMGLI_TRUST_PROXY

4. 源码构建

git clone https://github.com/yixian-huang/imgli && cd imgli
make build          # 产出 ./imgli
./imgli version     # ldflags 注入的 git tag
./imgli serve

开发测试:

make test           # go vet + go test(可选 IMGLI_TEST_PG_DSN)
make test-web       # vitest
cd web && npm run e2e

5. systemd 示例(Linux)

# /etc/systemd/system/imgli.service
[Unit]
Description=imgli image host
After=network.target

[Service]
Type=simple
User=imgli
Group=imgli
WorkingDirectory=/opt/imgli
ExecStart=/usr/local/bin/imgli serve -config /opt/imgli/imgli.yaml
Restart=on-failure
RestartSec=3
# 若不用 yaml,可直接 Environment=
# Environment=IMGLI_BASE_URL=https://img.example.com
# Environment=IMGLI_DATA_DIR=/opt/imgli/data
# Environment=IMGLI_TRUST_PROXY=true

[Install]
WantedBy=multi-user.target
sudo useradd -r -s /usr/sbin/nologin imgli
sudo mkdir -p /opt/imgli/data
sudo chown -R imgli:imgli /opt/imgli
sudo systemctl daemon-reload
sudo systemctl enable --now imgli

6. 反代要点(Caddy / Nginx)

下一步