mirror of
				https://gitea.com/gitea/gitea-mcp.git
				synced 2025-11-04 04:11:50 +00:00 
			
		
		
		
	build: switch Docker images to Debian and optimize build process (#19)
- 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>
This commit is contained in:
		
							
								
								
									
										32
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								Dockerfile
									
									
									
									
									
								
							@@ -1,21 +1,37 @@
 | 
			
		||||
FROM golang:1.24-alpine AS builder
 | 
			
		||||
# Build stage
 | 
			
		||||
FROM golang:1.24-bullseye AS builder
 | 
			
		||||
 | 
			
		||||
ARG VERSION
 | 
			
		||||
 | 
			
		||||
WORKDIR /build
 | 
			
		||||
# Set the working directory
 | 
			
		||||
WORKDIR /app
 | 
			
		||||
 | 
			
		||||
COPY . .
 | 
			
		||||
# 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
 | 
			
		||||
 | 
			
		||||
FROM ubuntu:24.04
 | 
			
		||||
# Final stage
 | 
			
		||||
FROM debian:bullseye-slim
 | 
			
		||||
 | 
			
		||||
WORKDIR /app
 | 
			
		||||
 | 
			
		||||
RUN apt-get update \
 | 
			
		||||
    && apt-get install ca-certificates --no-install-recommends -y
 | 
			
		||||
# Install ca-certificates for HTTPS requests
 | 
			
		||||
RUN apt-get update && \
 | 
			
		||||
    apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/*
 | 
			
		||||
 | 
			
		||||
COPY --from=builder /build/gitea-mcp .
 | 
			
		||||
# Create a non-root user
 | 
			
		||||
RUN useradd -r -u 1000 -m gitea-mcp
 | 
			
		||||
 | 
			
		||||
CMD ["./gitea-mcp", "-t", "stdio"]
 | 
			
		||||
COPY --from=builder --chown=1000:1000 /app/gitea-mcp .
 | 
			
		||||
 | 
			
		||||
# Use the non-root user
 | 
			
		||||
USER gitea-mcp
 | 
			
		||||
 | 
			
		||||
CMD ["/app/gitea-mcp", "-t", "stdio"]
 | 
			
		||||
		Reference in New Issue
	
	Block a user