Openstatus www.openstatus.dev
at main 84 lines 2.4 kB view raw
1# syntax=docker/dockerfile:1.11 2# This file is generated by Dofigen v2.5.1 3# See https://github.com/lenra-io/dofigen 4 5# builder 6FROM node@sha256:0afb7822fac7bf9d7c1bf3b6e6c496dee6b2b64d8dfa365501a3c68e8eba94b2 AS builder 7LABEL \ 8 org.opencontainers.image.base.digest="sha256:0afb7822fac7bf9d7c1bf3b6e6c496dee6b2b64d8dfa365501a3c68e8eba94b2" \ 9 org.opencontainers.image.base.name="docker.io/node:24-slim" 10ENV \ 11 PATH="$PNPM_HOME:$PATH" \ 12 CRON_SECRET="test" \ 13 RESEND_API_KEY="test" \ 14 STRIPE_SECRET_KEY="test" \ 15 TINY_BIRD_API_KEY="test" \ 16 TEAM_ID_VERCEL="test" \ 17 PROJECT_ID_VERCEL="test" \ 18 SELF_HOST="true" \ 19 NODE_ENV="production" \ 20 NEXT_PUBLIC_OPENPANEL_CLIENT_ID="test" \ 21 OPENPANEL_CLIENT_SECRET="test" \ 22 NEXT_PUBLIC_URL="http://localhost:3002" \ 23 UNKEY_TOKEN="test" \ 24 RANDOM_YOLO="YOLO" \ 25 UPSTASH_REDIS_REST_TOKEN="test" \ 26 UNKEY_API_ID="test" \ 27 DATABASE_URL="http://libsql:8080" \ 28 UPSTASH_REDIS_REST_URL="test" \ 29 VERCEL_AUTH_BEARER_TOKEN="test" \ 30 PNPM_HOME="/pnpm" \ 31 DATABASE_AUTH_TOKEN="test" 32WORKDIR /app 33COPY \ 34 --link \ 35 "." "/app/" 36RUN <<EOF 37corepack enable 38pnpm install --frozen-lockfile 39pnpm turbo run build --filter=@openstatus/status-page 40EOF 41 42# runtime 43FROM node@sha256:0afb7822fac7bf9d7c1bf3b6e6c496dee6b2b64d8dfa365501a3c68e8eba94b2 AS runtime 44LABEL \ 45 io.dofigen.version="2.5.1" \ 46 org.opencontainers.image.base.digest="sha256:0afb7822fac7bf9d7c1bf3b6e6c496dee6b2b64d8dfa365501a3c68e8eba94b2" \ 47 org.opencontainers.image.base.name="docker.io/node:24-slim" 48WORKDIR /app/apps/status-page 49COPY \ 50 --from=builder \ 51 --chown=1000:1000 \ 52 --chmod=555 \ 53 --link \ 54 "/app/apps/status-page/.next/standalone/apps/status-page/" "./" 55COPY \ 56 --from=builder \ 57 --chown=1000:1000 \ 58 --link \ 59 "/app/node_modules/" "/app/node_modules/" 60COPY \ 61 --from=builder \ 62 --chown=1000:1000 \ 63 --link \ 64 "/app/apps/status-page/.next/static/" "./.next/static/" 65COPY \ 66 --from=builder \ 67 --chown=1000:1000 \ 68 --link \ 69 "/app/apps/status-page/public/" "./public/" 70USER 0:0 71RUN <<EOF 72apt-get update 73apt-get install -y --no-install-recommends curl 74rm -rf /var/lib/apt/lists/* 75EOF 76USER 1000:1000 77EXPOSE 3000 78HEALTHCHECK \ 79 --interval=30s \ 80 --timeout=10s \ 81 --start-period=45s \ 82 --retries=3 \ 83 CMD curl -f http://localhost:3000/ || exit 1 84CMD ["node", "server.js"]