| # debian.sh --arch 'amd64' out/ 'stable' '@1776729600' |
| RUN /bin/sh -c useradd --uid 1993 --user-group deno && mkdir /deno-dir/ && chown deno:deno /deno-dir/ # buildkit |
| ENV DENO_USE_CGROUPS=1 |
| ENV DENO_DIR=/deno-dir/ |
| ENV DENO_INSTALL_ROOT=/usr/local |
| ARG DENO_VERSION=2.7.14 |
| ENV DENO_VERSION=2.7.14 |
| COPY /deno /usr/bin/deno # buildkit |
| COPY /tini /tini # buildkit |
| LABEL org.opencontainers.image.title=Deno org.opencontainers.image.description=Deno Docker image (Debian) org.opencontainers.image.url=https://github.com/denoland/deno_docker org.opencontainers.image.source=https://github.com/denoland/deno_docker org.opencontainers.image.licenses=MIT org.opencontainers.image.version=2.7.14 |
| COPY ./_entry.sh /usr/local/bin/docker-entrypoint.sh # buildkit |
| RUN |1 DENO_VERSION=2.7.14 /bin/sh -c chmod 755 /usr/local/bin/docker-entrypoint.sh # buildkit |
| ENTRYPOINT ["/tini" "--" "docker-entrypoint.sh"] |
| CMD ["eval" "console.log('Welcome to Deno!')"] |
| USER root |
| RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends ca-certificates git libcurl4 openssh-client && rm -rf /var/lib/apt/lists/* # buildkit |
| WORKDIR /app |
| ENV GITOPS_PORT=3000 |
| ENV HOME=/data |
| COPY deno.json package.json mod.ts ./ # buildkit |
| COPY html ./html # buildkit |
| COPY ts ./ts # buildkit |
| COPY ts_bundled ./ts_bundled # buildkit |
| COPY ts_interfaces ./ts_interfaces # buildkit |
| RUN /bin/sh -c deno cache mod.ts # buildkit |
| RUN /bin/sh -c mkdir -p /data/.serve.zone/gitops && chown -R deno:deno /app /data # buildkit |
| USER deno |
| LABEL org.opencontainers.image.title=gitops org.opencontainers.image.description=GitOps dashboard for Gitea, GitLab, CI/CD secrets, pipelines, and documentation sync org.opencontainers.image.source=https://code.foss.global/serve.zone/gitops |
| HEALTHCHECK {Test:[CMD-SHELL deno eval --allow-env=GITOPS_PORT --allow-net=127.0.0.1 "const port = Deno.env.get('GITOPS_PORT') || '3000'; try { const response = await fetch(`http://127.0.0.1:${port}/`); Deno.exit(response.status < 500 ? 0 : 1); } catch { Deno.exit(1); }"] Interval:30s Timeout:10s StartPeriod:1m0s StartInterval:0s Retries:3} |
| EXPOSE [3000/tcp] |
| CMD ["run" "--allow-all" "mod.ts" "server"] |