[中文文档](readme-zh.md) / [English Document](README.md) # Custom Image Gateway
](https://ko-fi.com/haierkeys)
## 快速开始
### 安装
- 目录设置
```bash
# 创建项目所需的目录
mkdir -p /data/image-api
cd /data/image-api
mkdir -p ./config && mkdir -p ./storage/logs && mkdir -p ./storage/uploads
```
首次启动如果不下载配置文件,程序会自动生成一个默认配置到 **config/config.yaml**
如果你想从网络下载一个默认配置 使用以下命令来下载
```bash
# 从开源库下载默认配置文件到配置目录
wget -P ./config/ https://raw.githubusercontent.com/haierkeys/custom-image-gateway/main/config/config.yaml
```
- 二进制安装
从 [Releases](https://github.com/haierkeys/custom-image-gateway/releases) 下载最新版本,解压后执行:
```bash
./image-api run -c config/config.yaml
```
- 容器化安装(Docker 方式)
Docker 命令:
```bash
# 拉取最新的容器镜像
docker pull haierkeys/custom-image-gateway:latest
# 创建并启动容器
docker run -tid --name image-api \
-p 9000:9000 -p 9001:9001 \
-v /data/image-api/storage/:/api/storage/ \
-v /data/image-api/config/:/api/config/ \
haierkeys/custom-image-gateway:latest
```
Docker Compose
使用 *containrrr/watchtower* 来监听镜像实现自动更新项目
**docker-compose.yaml** 内容如下
```yaml
# docker-compose.yaml
services:
image-api:
image: haierkeys/custom-image-gateway:latest # 你的应用镜像
container_name: image-api
ports:
- "9000:9000" # 映射端口 9000
- "9001:9001" # 映射端口 9001
volumes:
- /data/image-api/storage/:/api/storage/ # 映射存储目录
- /data/image-api/config/:/api/config/ # 映射配置目录
restart: always
```
执行 **docker compose**
以服务方式注册 docker 容器
```bash
docker compose up -d
```
注销并销毁 docker 容器
```bash
docker compose down
```
### 使用
- **使用单服务网关**
支持 `本地存储`, `OSS` , `Cloudflare R2` , `Amazon S3` , `MinIO`, `WebDAV`, `多吉云`
需要修改 [config.yaml](config/config.yaml#http-port)
修改`http-port` 和 `auth-token` 两个选项
启动网关程序
API 网关地址为 `http://{IP:PORT}/api/upload`
API 访问令牌为 `auth-token` 内容
- **使用 多用户 开放网关**
支持 `本地存储`, `OSS` , `Cloudflare R2` , `Amazon S3` , `MinIO` ( v2.3+ ), `WebDAV` ( v2.5+ ), `多吉云` ( v2.6+ )
需要在 [config.yaml](config/config.yaml#user) 中修改
`http-port` 和 `database`
同时修改 `user.is-enable` 和 `user.register-is-enable` 为 `true`
启动网关程序
访问 `WebGUI` 地址 `http://{IP:PORT}` 进行用户注册配置

API 网关地址为 `http://{IP:PORT}/api/user/upload`
点击在 `WebGUI` 复制 API 配置 获取配置信息
- **存储类型说明**
| 存储类型 | 说明 |
|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 服务器本地存储 | 默认的保存路径为: `/data/storage/uploads` 关联配置项`config.local-fs.save-path` 为 `storage/uploads`,