mirror of
https://gitea.com/gitea/gitea-mcp.git
synced 2025-08-23 14:23:05 +00:00
- Switch base image from `golang:1.24-alpine` to `golang:1.24-bullseye` for the build stage - Update working directory from `/build` to `/app` - Separate the copying of go.mod and go.sum files before downloading dependencies - Add comments for build stages and process steps - Switch final stage base image from `ubuntu:24.04` to `debian:bullseye-slim` - Improve installation of ca-certificates and clean up the apt lists afterward - Create and switch to a non-root user named `gitea-mcp` - Change the file copy command to `--chown=1000:1000 /app/gitea-mcp` - Update `CMD` to use an absolute path `/app/gitea-mcp` Signed-off-by: appleboy <appleboy.tw@gmail.com> Reviewed-on: https://gitea.com/gitea/gitea-mcp/pulls/19 Co-authored-by: appleboy <appleboy.tw@gmail.com> Co-committed-by: appleboy <appleboy.tw@gmail.com>
37 lines
714 B
Docker
37 lines
714 B
Docker
# Build stage
|
|
FROM golang:1.24-bullseye AS builder
|
|
|
|
ARG VERSION
|
|
|
|
# Set the working directory
|
|
WORKDIR /app
|
|
|
|
# Copy go.mod and go.sum files
|
|
COPY go.mod go.sum ./
|
|
|
|
# Download dependencies
|
|
RUN go mod download
|
|
|
|
# Copy the source code
|
|
COPY . .
|
|
|
|
RUN CGO_ENABLED=0 go build -ldflags="-s -w -X main.version=${VERSION}" -o gitea-mcp
|
|
|
|
# Final stage
|
|
FROM debian:bullseye-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# Install ca-certificates for HTTPS requests
|
|
RUN apt-get update && \
|
|
apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/*
|
|
|
|
# Create a non-root user
|
|
RUN useradd -r -u 1000 -m gitea-mcp
|
|
|
|
COPY --from=builder --chown=1000:1000 /app/gitea-mcp .
|
|
|
|
# Use the non-root user
|
|
USER gitea-mcp
|
|
|
|
CMD ["/app/gitea-mcp", "-t", "stdio"] |