ci.yaml (push) Invalid workflow file
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
21 lines
996 B
Docker
21 lines
996 B
Docker
# The console image built by Gitea CI (git.shx.one). Same contract as the upstream
|
|
# init image: it copies the console into the volume mounted at /target and exits;
|
|
# the official DNS server mounts that volume read-only and serves it.
|
|
#
|
|
# docker run --rm -v technitium-console:/target git.shx.one/denozord/technitium-console:latest
|
|
#
|
|
# Unlike docker/Dockerfile (which packs a release tarball), this one builds the
|
|
# console from the sources in the context.
|
|
FROM node:22-bookworm-slim AS build
|
|
WORKDIR /src
|
|
COPY package.json package-lock.json ./
|
|
RUN npm ci
|
|
COPY . .
|
|
RUN npm run build
|
|
|
|
FROM busybox:stable
|
|
COPY --from=build /src/dist /console
|
|
# Everything the console ships is replaced on each run, except the administrator's
|
|
# own lists (json/*-custom.json), which live in the same folder.
|
|
ENTRYPOINT ["/bin/sh", "-c", "test -d /target || { echo 'mount a volume at /target' >&2; exit 1; }; find /target -depth -mindepth 1 ! -name '*-custom.json' -delete 2>/dev/null; cp -a /console/. /target/"]
|