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.4 kB ยท 106 lines
Dockerfile
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107# 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:0e0ff40c39bc087845bfb27465a0df4ea419520094bc35842ff83dd8cbe6f9b6 AS installLABEL \ org.opencontainers.image.base.digest="sha256:0e0ff40c39bc087845bfb27465a0df4ea419520094bc35842ff83dd8cbe6f9b6" \ org.opencontainers.image.base.name="docker.io/node:24-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/server/package.json,source=apps/server/package.json \ --mount=type=bind,target=packages/analytics/package.json,source=packages/analytics/package.json \ --mount=type=bind,target=packages/db/package.json,source=packages/db/package.json \ --mount=type=bind,target=packages/proto/package.json,source=packages/proto/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/error/package.json,source=packages/error/package.json \ --mount=type=bind,target=packages/regions/package.json,source=packages/regions/package.json \ --mount=type=bind,target=packages/tinybird/package.json,source=packages/tinybird/package.json \ --mount=type=bind,target=packages/tracker/package.json,source=packages/tracker/package.json \ --mount=type=bind,target=packages/upstash/package.json,source=packages/upstash/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/subscriptions/package.json,source=packages/subscriptions/package.json \ --mount=type=bind,target=packages/assertions/package.json,source=packages/assertions/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/services/package.json,source=packages/services/package.json \ --mount=type=bind,target=packages/importers/package.json,source=packages/importers/package.json \ --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \ <<EOFcorepack enable pnpmpnpm install --prod --frozen-lockfile --filter=@openstatus/server... --loglevel debugEOF
# buildFROM denoland/deno@sha256:fa335acdf6b72106eda2cb6a8cb5f4187e7630e357467489db4b2e7352d5e432 AS buildLABEL \ org.opencontainers.image.base.digest="sha256:fa335acdf6b72106eda2cb6a8cb5f4187e7630e357467489db4b2e7352d5e432" \ org.opencontainers.image.base.name="docker.io/denoland/deno:2.9.7" \ org.opencontainers.image.stage="build"ENV NODE_ENV="production"WORKDIR /app/apps/serverCOPY \ --link \ "." "/app/"COPY \ --from=install \ --link \ "/app/node_modules" "/app/node_modules"COPY \ --from=install \ --link \ "/app/apps/server/node_modules" "/app/apps/server/node_modules"COPY \ --from=install \ --link \ "/app/packages" "/app/packages"RUN <<EOFdeno bundle --platform=deno --sloppy-imports --node-modules-dir=manual --output src/_serve.bundle.mjs src/serve.tsdeno compile --no-check -A --node-modules-dir=none --include static/openapi.yaml --include static/openapi.json --include static/openapi-v1.json --output app src/_serve.bundle.mjsEOF
# runtimeFROM registry.access.redhat.com/hi/curl@sha256:848b81ab5d5e55371d7193fd4f1ea7b605d14dbb039344ffad34a4c1f0d880f4 AS runtimeLABEL \ io.dofigen.version="2.8.0" \ org.opencontainers.image.authors="OpenStatus Team" \ org.opencontainers.image.base.digest="sha256:848b81ab5d5e55371d7193fd4f1ea7b605d14dbb039344ffad34a4c1f0d880f4" \ org.opencontainers.image.description="REST API server with Hono framework for OpenStatus" \ org.opencontainers.image.source="https://github.com/openstatusHQ/openstatus" \ org.opencontainers.image.title="OpenStatus Server" \ org.opencontainers.image.vendor="OpenStatus"COPY \ --from=build \ --chown=1000:1000 \ --chmod=555 \ --link \ "/app/apps/server/app" "/bin/"USER 1000:1000EXPOSE 3000HEALTHCHECK \ --interval=30s \ --timeout=10s \ --start-period=30s \ --retries=3 \ CMD ["curl", "-f", "http://localhost:3000/ping"]ENTRYPOINT ["/bin/app"]