# QAUP Docker 镜像版本配置文件
# 集中管理所有使用的 Docker 镜像版本
# 更新日期: 2024-01-31

# ===========================================
# 基础镜像版本
# ===========================================

# PostgreSQL with PostGIS
# PostgreSQL with PostGIS
# 使用 PostgreSQL 17 + PostGIS 3.5 (根据用户实际使用版本)
# PostgreSQL 17 是最新稳定版本，PostGIS 3.5 是当前稳定版本
POSTGRES_IMAGE=m.daocloud.io/docker.io/postgis/postgis:17-3.5-alpine

# Redis
# 使用 Redis 8.0 最新版本 (根据用户实际使用版本)
REDIS_IMAGE=m.daocloud.io/docker.io/library/redis:8.0-alpine

# OpenJDK
# 使用 Java 17 LTS 版本（生产环境推荐）- 使用eclipse-temurin替代openjdk
OPENJDK_IMAGE=m.daocloud.io/docker.io/library/eclipse-temurin:17-jre

# Maven
# 使用 Maven latest版本（包含OpenJDK 17）
MAVEN_IMAGE=m.daocloud.io/docker.io/library/maven:latest

# Nginx
# 使用稳定版本
NGINX_IMAGE=m.daocloud.io/docker.io/library/nginx:stable-alpine

# Node.js
# 使用当前 LTS 版本
NODE_IMAGE=m.daocloud.io/docker.io/library/node:lts-alpine

# ===========================================
# 自定义镜像版本
# ===========================================

# QAUP 应用镜像
QAUP_APP_IMAGE=qaup-app:latest

# QAUP Nginx 镜像
QAUP_NGINX_IMAGE=qaup-nginx:latest

# ===========================================
# 版本说明
# ===========================================

# PostgreSQL/PostGIS 版本选择说明 (基于用户实际使用版本):
# - postgis/postgis:17-3.5-alpine: PostgreSQL 17 + PostGIS 3.5 (当前使用，最新稳定版)
# - postgis/postgis:16-3.5-alpine: PostgreSQL 16 + PostGIS 3.5 (稳定选择)
# - postgis/postgis:15-3.5-alpine: PostgreSQL 15 + PostGIS 3.5 (保守选择)
# - postgis/postgis:*-3.6.0alpha1-alpine: PostGIS 3.6 alpha (不推荐生产使用)

# Java 版本选择说明:
# - Java 17: LTS 版本，生产环境推荐，兼容性好
# - Java 21: 最新 LTS 版本，性能更好，但需要验证兼容性
# - Java 25/26: 预览版本，不推荐生产使用

# Redis 版本说明 (基于用户实际使用版本):
# - 8.0-alpine: Redis 8.0 最新版本 (当前使用)
# - 7.4.5-alpine: 7.x 系列最新稳定版本
# - 7.2.x-alpine: 较老但稳定的版本

# Maven 版本说明:
# - 3.9.11: 当前最新稳定版本
# - 与 OpenJDK 版本保持一致很重要

# Node.js 版本说明:
# - lts-alpine: 总是指向当前 LTS 版本
# - iron-*: Iron 是 Node.js 18.x LTS 的代号
# - jod-*: 可能是更新的 LTS 版本代号

# Nginx 版本说明:
# - stable-alpine: 总是指向稳定版本
# - mainline-*: 开发版本，包含最新特性但可能不稳定

# ===========================================
# 更新检查命令
# ===========================================

# 运行以下命令检查最新版本:
# ./check-image-versions.sh

# 更新镜像版本后，需要同步更新:
# 1. docker-compose.yml
# 2. Dockerfile  
# 3. docker/nginx/Dockerfile
# 4. prepare-offline-images.sh

# ===========================================
# 版本更新记录
# ===========================================

# 2024-01-31: 根据用户实际使用版本更新
# - PostgreSQL: 15-3.5-alpine → 17-3.5-alpine (升级到最新稳定版)
# - Redis: 7.4.5-alpine → 8.0-alpine (升级到最新版本)
# - 其他组件保持不变

# 注意事项:
# - PostgreSQL 17 是最新稳定版本，包含性能改进和新特性
# - Redis 8.0 是最新版本，包含新的数据结构和性能优化
# - 升级前请在测试环境验证兼容性
# - 建议备份现有数据后再进行升级

# ===========================================
# 版本兼容性检查清单
# ===========================================

# 更新版本前请确认:
# □ Spring Boot 版本与 Java 版本兼容
# □ PostGIS 版本与应用程序的空间数据处理兼容
# □ Redis 版本与应用程序的缓存功能兼容
# □ Node.js 版本与前端构建工具兼容
# □ 在测试环境验证所有功能正常
# □ 检查是否有破坏性变更

# 推荐的更新流程:
# 1. 运行 ./check-image-versions.sh 检查最新版本
# 2. 更新 image-versions.env 配置文件
# 3. 运行 ./update-image-versions.sh --dry-run 预览更改
# 4. 运行 ./update-image-versions.sh --backup 执行更新
# 5. 在测试环境验证兼容性
# 6. 更新离线部署包