44# Global Arguments
55# ==============================================================================
66ARG GO_VERSION=1.25.5
7- ARG UBUNTU_VERSION=24.04
7+ ARG DEBIAN_VERSION=trixie-20251208
8+ # ARG GO_VERSION=1.25.5-debian13
9+ # ARG DEBIAN_VERSION=trixie-debian13-fips
810
911# ==============================================================================
1012# Stage 1: Go Tool Builder
1113# ==============================================================================
1214FROM golang:${GO_VERSION}-bookworm AS go-builder
15+ # FROM dhi.io/golang:${GO_VERSION}-dev AS go-builder
1316
1417ARG TARGETARCH
1518
@@ -24,7 +27,7 @@ ENV AIR_VERSION=v1.63.4 \
2427 PROTOC_GEN_GO_VERSION=v1.36.10 \
2528 PROTOC_GEN_CONNECT_GO_VERSION=v1.19.1 \
2629 OAPI_VERSION=v2.5.1 \
27- GOLANGCI_LINT_VERSION=v2.7.1
30+ GOLANGCI_LINT_VERSION=v2.7.2
2831
2932RUN --mount=type=cache,target=/go/pkg/mod \
3033 --mount=type=cache,target=/root/.cache/go-build \
@@ -44,7 +47,8 @@ RUN --mount=type=cache,target=/go/pkg/mod \
4447# ==============================================================================
4548# Stage 2: Development Environment
4649# ==============================================================================
47- FROM ubuntu:${UBUNTU_VERSION}
50+ FROM debian:${DEBIAN_VERSION}
51+ # FROM dhi.io/debian-base:${DEBIAN_VERSION}
4852
4953ARG TARGETARCH
5054
@@ -58,19 +62,22 @@ RUN --mount=type=cache,target=/var/cache/apt/archives,id=apt-archives-${TARGETAR
5862 wget \
5963 unzip \
6064 ca-certificates \
61- openjdk-17 -jdk-headless \
65+ openjdk-25 -jdk-headless \
6266 maven \
6367 jq \
6468 python3 \
6569 python3-pip \
6670 protobuf-compiler \
6771 libprotobuf-dev \
72+ locales \
73+ && localedef -f UTF-8 -i ja_JP ja_JP.UTF-8 \
6874 && rm -rf /var/lib/apt/lists/*
6975
7076# ------------------------------------------------------------------------------
7177# Flyway
7278# ------------------------------------------------------------------------------
73- ENV FLYWAY_VERSION=9.9.0
79+ ENV FLYWAY_VERSION=9.9.0 \
80+ JAVA_ARGS="--enable-native-access=ALL-UNNAMED"
7481
7582RUN curl -L -o flyway.tar.gz https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/${FLYWAY_VERSION}/flyway-commandline-${FLYWAY_VERSION}-linux-x64.tar.gz \
7683 && tar -xzf flyway.tar.gz \
@@ -83,6 +90,7 @@ RUN curl -L -o flyway.tar.gz https://repo1.maven.org/maven2/org/flywaydb/flyway-
8390# OpenAPI Generator CLI
8491# ------------------------------------------------------------------------------
8592ENV OPENAPI_GENERATOR_VERSION=7.17.0
93+
8694RUN curl -fsSL https://raw.githubusercontent.com/OpenAPITools/openapi-generator/"v${OPENAPI_GENERATOR_VERSION}" /bin/utils/openapi-generator-cli.sh -o /usr/local/bin/openapi-generator-cli \
8795 && chmod +x /usr/local/bin/openapi-generator-cli
8896
@@ -95,14 +103,19 @@ ENV PATH=/root/.local/bin:$PATH
95103# ------------------------------------------------------------------------------
96104# Node.js Tools (pnpm, rulesync など)
97105# ------------------------------------------------------------------------------
106+ ENV NPM_VERSION=11.7.0 \
107+ PNPM_VERSION=10.26.0 \
108+ RULESYNC_VERSION=3.34.0 \
109+ CONTEXT7_VERSION=1.0.33
110+
98111RUN curl -fsSL https://deb.nodesource.com/setup_current.x | bash - \
99112 && apt-get install -y nodejs
100113
101114RUN --mount=type=cache,target=/root/.npm \
102- npm install -g npm@latest --force && \
103- npm install -g pnpm && \
104- npm install -g rulesync && \
105- npm install -g @upstash/context7-mcp && \
115+ npm install -g " npm@${NPM_VERSION}" --force && \
116+ npm install -g " pnpm@${PNPM_VERSION}" && \
117+ npm install -g " rulesync@${RULESYNC_VERSION}" && \
118+ npm install -g " @upstash/context7-mcp@${CONTEXT7_VERSION}" && \
106119 npm cache clean --force
107120
108121# ------------------------------------------------------------------------------
@@ -134,8 +147,10 @@ ENV CLAUDE_CODE_USE_BEDROCK=false \
134147# ------------------------------------------------------------------------------
135148ENV GOOGLE_CLOUD_LOCATION=global \
136149 GOOGLE_GENAI_USE_VERTEXAI=true \
137- GEMINI_MODEL="gemini-2.5-flash"
138- RUN npm install -g @google/gemini-cli
150+ GEMINI_MODEL="gemini-3-flash-preview" \
151+ GEMINI_CLI_VERSION=0.21.2
152+
153+ RUN npm install -g "@google/gemini-cli@${GEMINI_CLI_VERSION}"
139154
140155# ------------------------------------------------------------------------------
141156# Go
0 commit comments