Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/openstatus. ๐ซ Status page with uptime monitoring & API monitoring as code ๐ซ openstatus.dev
bun drizzle-orm monitoring monitoring-as-code nextjs observability on-call open-source shadcn-ui status-page statuspage synthetic-monitoring tinybird turso uptime uptime-checker uptime-monitor
Something went wrong. Try again.
6.5 kB ยท 124 lines
Dockerfile
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125# syntax=docker/dockerfile:1.19.0# This file is generated by Dofigen v2.8.0# See https://github.com/lenra-io/dofigen
# installFROM node@sha256:c0753125a3789977aefe869cbebccf70e3cfd7ea84ca48547458f02e4f1d7146 AS installLABEL \ org.opencontainers.image.base.digest="sha256:c0753125a3789977aefe869cbebccf70e3cfd7ea84ca48547458f02e4f1d7146" \ org.opencontainers.image.base.name="docker.io/node:26.8.1-slim" \ org.opencontainers.image.stage="install"WORKDIR /app/RUN \ --mount=type=bind,target=pnpm-workspace.yaml,source=pnpm-workspace.yaml \ --mount=type=bind,target=pnpm-lock.yaml,source=pnpm-lock.yaml \ --mount=type=bind,target=package.json,source=package.json \ --mount=type=bind,target=apps/workflows/package.json,source=apps/workflows/package.json \ --mount=type=bind,target=packages/assertions/package.json,source=packages/assertions/package.json \ --mount=type=bind,target=packages/db/package.json,source=packages/db/package.json \ --mount=type=bind,target=packages/emails/package.json,source=packages/emails/package.json \ --mount=type=bind,target=packages/notifications/base/package.json,source=packages/notifications/base/package.json \ --mount=type=bind,target=packages/notifications/discord/package.json,source=packages/notifications/discord/package.json \ --mount=type=bind,target=packages/notifications/email/package.json,source=packages/notifications/email/package.json \ --mount=type=bind,target=packages/notifications/grafana-oncall/package.json,source=packages/notifications/grafana-oncall/package.json \ --mount=type=bind,target=packages/notifications/google-chat/package.json,source=packages/notifications/google-chat/package.json \ --mount=type=bind,target=packages/notifications/ms-teams/package.json,source=packages/notifications/ms-teams/package.json \ --mount=type=bind,target=packages/notifications/ntfy/package.json,source=packages/notifications/ntfy/package.json \ --mount=type=bind,target=packages/notifications/opsgenie/package.json,source=packages/notifications/opsgenie/package.json \ --mount=type=bind,target=packages/notifications/pagerduty/package.json,source=packages/notifications/pagerduty/package.json \ --mount=type=bind,target=packages/notifications/slack/package.json,source=packages/notifications/slack/package.json \ --mount=type=bind,target=packages/notifications/telegram/package.json,source=packages/notifications/telegram/package.json \ --mount=type=bind,target=packages/notifications/bird-whatsapp/package.json,source=packages/notifications/bird-whatsapp/package.json \ --mount=type=bind,target=packages/notifications/twillio-sms/package.json,source=packages/notifications/twillio-sms/package.json \ --mount=type=bind,target=packages/notifications/webhook/package.json,source=packages/notifications/webhook/package.json \ --mount=type=bind,target=packages/importers/package.json,source=packages/importers/package.json \ --mount=type=bind,target=packages/regions/package.json,source=packages/regions/package.json \ --mount=type=bind,target=packages/services/package.json,source=packages/services/package.json \ --mount=type=bind,target=packages/subscriptions/package.json,source=packages/subscriptions/package.json \ --mount=type=bind,target=packages/utils/package.json,source=packages/utils/package.json \ --mount=type=bind,target=packages/tsconfig/package.json,source=packages/tsconfig/package.json \ --mount=type=bind,target=packages/tinybird/package.json,source=packages/tinybird/package.json \ --mount=type=bind,target=packages/upstash/package.json,source=packages/upstash/package.json \ --mount=type=bind,target=packages/theme-store/package.json,source=packages/theme-store/package.json \ --mount=type=bind,target=packages/locales/package.json,source=packages/locales/package.json \ --mount=type=bind,target=packages/status-fetcher/package.json,source=packages/status-fetcher/package.json \ --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \ <<EOFnpm install -g corepack@0.36.0corepack enable pnpmpnpm install --frozen-lockfile --filter=@openstatus/workflows... --loglevel debugEOF
# buildFROM node@sha256:c0753125a3789977aefe869cbebccf70e3cfd7ea84ca48547458f02e4f1d7146 AS buildLABEL \ org.opencontainers.image.base.digest="sha256:c0753125a3789977aefe869cbebccf70e3cfd7ea84ca48547458f02e4f1d7146" \ org.opencontainers.image.base.name="docker.io/node:26.8.1-slim" \ org.opencontainers.image.stage="build"ENV NODE_ENV="production"WORKDIR /app/apps/workflowsCOPY \ --link \ "." "/app/"COPY \ --from=install \ --link \ "/app/node_modules" "/app/node_modules"COPY \ --from=install \ --link \ "/app/apps/workflows/node_modules" "/app/apps/workflows/node_modules"COPY \ --from=install \ --link \ "/app/packages" "/app/packages"RUN <<EOF./node_modules/.bin/tsdownmkdir -p /tmp/sc /app/datanode scripts/sidecar-package.mjs /tmp/sc/package.jsonnpm install --prefix /tmp/sc --omit=dev --no-package-lock --no-audit --no-fundEOF
# runtimeFROM node@sha256:c0753125a3789977aefe869cbebccf70e3cfd7ea84ca48547458f02e4f1d7146 AS runtimeLABEL \ io.dofigen.version="2.8.0" \ org.opencontainers.image.authors="OpenStatus Team" \ org.opencontainers.image.base.digest="sha256:c0753125a3789977aefe869cbebccf70e3cfd7ea84ca48547458f02e4f1d7146" \ org.opencontainers.image.base.name="docker.io/node:26.8.1-slim" \ org.opencontainers.image.description="Background job processing and probe scheduling for OpenStatus" \ org.opencontainers.image.source="https://github.com/openstatusHQ/openstatus" \ org.opencontainers.image.title="OpenStatus Workflows" \ org.opencontainers.image.vendor="OpenStatus"ENV NODE_ENV="production"WORKDIR /app/COPY \ --from=build \ --chown=1000:1000 \ --link \ "/app/apps/workflows/dist" "/app/apps/workflows/dist"COPY \ --from=build \ --chown=1000:1000 \ --link \ "/tmp/sc/node_modules" "/app/apps/workflows/node_modules"COPY \ --from=build \ --chown=1000:1000 \ --link \ "/app/data" "/app/data"USER 0:0RUN <<EOFapt-get updateapt-get install -y --no-install-recommends curl ca-certificatesrm -rf /var/lib/apt/lists/*EOFUSER 1000:1000EXPOSE 3000HEALTHCHECK \ --interval=1m \ --timeout=10s \ --start-period=30s \ --retries=3 \ CMD ["curl", "-f", "http://localhost:3000/ping"]ENTRYPOINT ["node", "/app/apps/workflows/dist/serve.mjs"]