# syntax=docker/dockerfile:1

FROM golang:1.26-alpine AS build
WORKDIR /src
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /tiny-proxy .

FROM alpine:3.21
RUN apk add --no-cache ca-certificates && \
    adduser -D -u 10001 tinyproxy && \
    mkdir -p /app/data && chown tinyproxy:tinyproxy /app/data
USER tinyproxy
WORKDIR /app
COPY --from=build /tiny-proxy /app/tiny-proxy

EXPOSE 8080
VOLUME ["/app/data"]

ENTRYPOINT ["/app/tiny-proxy", "-config", "/app/config.yaml"]
