21 lines
729 B
Docker
21 lines
729 B
Docker
# syntax=docker/dockerfile:1
|
|
|
|
# ---- build: compile anubis with your overlaid mascot baked in ----
|
|
FROM golang:1.24-bookworm AS build
|
|
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
|
|
&& apt-get install -y --no-install-recommends nodejs zstd brotli \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
ENV HUSKY=0
|
|
WORKDIR /src
|
|
# context = upstream checkout, with mascot/*.webp already copied in
|
|
COPY . .
|
|
RUN npm ci
|
|
# go generate + web/xess assets + go build -> ./var/anubis
|
|
RUN mkdir -p var && npm run build
|
|
|
|
# ---- runtime: minimal, same uid/gid as upstream's image ----
|
|
FROM gcr.io/distroless/base-debian12
|
|
COPY --from=build /src/var/anubis /usr/local/bin/anubis
|
|
USER 1000:1000
|
|
EXPOSE 8923 9090
|
|
ENTRYPOINT ["/usr/local/bin/anubis"] |