Ctrl K
ComunidadGuías…

Dockerfile

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Build stage
FROM docker.io/library/golang:1.27.3-alpine3.24 AS builder

RUN apk add --no-cache build-base git gcc musl-dev && rm -rf /var/cache/apk/*

WORKDIR /app

COPY go.mod go.sum vendor/ ./

COPY . .

ARG VERSION=dev
RUN CGO_ENABLED=0 GOOS=linux go build -mod=vendor -a -installsuffix cgo -ldflags="-s -w -X 'wiki-go/internal/version.Version=${VERSION}'" -o wiki-go .

# Final stage
FROM docker.io/library/alpine:3.24

RUN apk add --no-cache bash ca-certificates curl linux-pam tzdata && rm -rf /var/cache/apk/*

ARG PUID=1000
ARG PGID=1000

RUN addgroup -g ${PGID} appgroup && adduser -u ${PUID} -G appgroup -s /bin/bash -D appuser

WORKDIR /wiki

RUN mkdir -p /wiki/data && chown -R appuser:appgroup /wiki && chmod -R 755 /wiki

COPY --chown=appuser:appgroup --chmod=755 --from=builder /app/wiki-go .

USER appuser

EXPOSE 8080 443

VOLUME ["/wiki/data"]

ENTRYPOINT ["./wiki-go"]

CMD []