Files
pawtoolbox/Dockerfile
2026-08-26 07:30:25 +02:00

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"]