主题
Docker 部署
IPAM 主服务采用前后端分离架构,通过 1Panel 的 Docker Compose 功能部署。
主服务部署
架构说明
| 服务 | 镜像 | 端口 | 说明 |
|---|---|---|---|
ipam-backend | ccr.ccs.tencentyun.com/ipam-go/server:latest | 12389 | Go API 后端(host 网络模式) |
ipam-frontend | ccr.ccs.tencentyun.com/ipam-go/dashboard:latest | 12380 | Nginx + Vue 3 前端(host 网络模式) |
使用步骤
- 在 1Panel 中创建 Docker Compose 应用
- 将服务部署页面中的 Docker Compose 配置粘贴到 compose 配置中
- 将对应的环境变量粘贴到环境变量配置中
- 点击部署
环境变量配置
所有配置通过 1Panel 环境变量管理,按以下分类组织:
1. 时间与区域
| 变量 | 默认值 | 说明 |
|---|---|---|
TZ | Asia/Shanghai | 容器时区 |
2. HTTP 服务
| 变量 | 默认值 | 说明 |
|---|---|---|
SERVER_HOST | 0.0.0.0 | 监听地址(0.0.0.0 = 所有网络接口) |
SERVER_PORT | 12389 | 监听端口 |
3. 数据库
| 变量 | 默认值 | 说明 |
|---|---|---|
DB_TYPE | mysql | 数据库类型:mysql / mariadb / postgresql |
DB_HOST | 127.0.0.1 | 数据库地址 |
DB_PORT | 3306 | 数据库端口(MySQL/MariaDB 默认 3306, PostgreSQL 默认 5432) |
DB_USER | ipam | 数据库用户名 |
DB_PASSWORD | password | 数据库密码 |
DB_NAME | ipam | 数据库名称 |
4. JWT 鉴权
| 变量 | 默认值 | 说明 |
|---|---|---|
JWT_SECRET | your-jwt-secret-key-change-me | JWT 签名密钥(生产环境务必修改为随机字符串) |
5. 缓存
| 变量 | 默认值 | 说明 |
|---|---|---|
CACHE_DRIVER | memory | 缓存驱动:memory(内置)/ redis / valkey |
CACHE_HOST | 127.0.0.1 | Redis/Valkey 地址(memory 驱动时无效) |
CACHE_PORT | 6379 | Redis/Valkey 端口 |
CACHE_PASSWORD | — | Redis/Valkey 密码 |
CACHE_DB | 0 | Redis/Valkey 数据库编号(0~15) |
CACHE_DEFAULT_TTL | 300 | 缓存默认过期时间(秒) |
CACHE_CLEANUP_INTERVAL | 60 | 内置缓存清理间隔(秒,仅 memory 驱动生效) |
6. 日志
| 变量 | 默认值 | 说明 |
|---|---|---|
LOG_CONSOLE_LEVEL | warn | 控制台日志级别:debug / info / warn / error |
LOG_FILE_LEVEL | debug | 文件日志级别:debug / info / warn / error |
LOG_MAX_SIZE | 10 | 单个日志文件最大容量(MB) |
LOG_MAX_BACKUPS | 5 | 保留的滚动日志文件数 |
LOG_MAX_AGE | 30 | 滚动日志保留天数 |
LOG_COMPRESS | true | 是否压缩历史日志(true / false) |
7. 网络扫描
| 变量 | 默认值 | 说明 |
|---|---|---|
SCAN_LOG_MAX_SIZE | 500 | 扫描日志文件最大容量(MB) |
缓存驱动说明
| 驱动 | 说明 |
|---|---|
memory | 进程内缓存,无需外部依赖,适合单节点部署(默认) |
redis | Redis 缓存,需自行部署 Redis 服务,适合多节点集群 |
valkey | Valkey 缓存(Redis 协议兼容),需自行部署 Valkey 服务 |
对象存储
部署与配置见对象存储部署文档。