gitea-register-account-bot/Dockerfile

41 lines
908 B
Docker

# Start from a Go base image
FROM golang:alpine3.19 AS builder
# Set the working directory
WORKDIR /app
# Copy the source code into the container
COPY go.mod .
COPY go.sum .
# Download required modules
RUN go mod download
# Copy the main application file
COPY main.go .
# Build the application
RUN CGO_ENABLED=0 GOOS=linux go build -o gitea-register-account-bot .
# Use a small base image
FROM alpine:edge
# Create and set the application directory
WORKDIR /app/
# Add a non-root user to run the application
RUN addgroup -S nonroot \
&& adduser -S nonroot -G nonroot
# Copy the binary from the builder stage
COPY --from=builder /app/gitea-register-account-bot /app/
# Change file ownership to the nonroot user
RUN chown -R nonroot:nonroot /app
# Change to nonroot user
USER nonroot
# Command to run the executable
CMD ["./gitea-register-account-bot"]