26 lines
774 B
Docker
26 lines
774 B
Docker
FROM golang:1.26-alpine AS builder
|
|
WORKDIR /src
|
|
COPY go.mod ./
|
|
COPY . .
|
|
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o /out/paw-toolbox .
|
|
|
|
FROM alpine:3.24
|
|
RUN apk add --no-cache ca-certificates tzdata openssl && addgroup -S paw && adduser -S -G paw paw
|
|
WORKDIR /app
|
|
COPY --from=builder /out/paw-toolbox /app/paw-toolbox
|
|
COPY apps.json /data/apps.json
|
|
RUN mkdir -p /data/files && chown -R paw:paw /data
|
|
USER paw
|
|
ENV ADDR=":8080" \
|
|
SERVER_MODE="http" \
|
|
APPS_JSON="/data/apps.json" \
|
|
DATA_DIR="/data" \
|
|
CLIPBOARD_DATA="/data/clipboard.json" \
|
|
MAX_PER_ROOM="200" \
|
|
CLIPBOARD_PERSIST_SECRETS="false" \
|
|
FILE_MAX_BYTES="268435456" \
|
|
AUTH_USER="" \
|
|
AUTH_PASS=""
|
|
EXPOSE 8080 8443
|
|
ENTRYPOINT ["/app/paw-toolbox"]
|