Openstatus
www.openstatus.dev
1# syntax=docker/dockerfile:1.11
2# This file is generated by Dofigen v2.5.0
3# See https://github.com/lenra-io/dofigen
4
5# install
6FROM oven/bun@sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025 AS install
7LABEL \
8 org.opencontainers.image.base.digest="sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025" \
9 org.opencontainers.image.base.name="docker.io/oven/bun:1.3.0"
10WORKDIR /app/
11RUN \
12 --mount=type=bind,target=bunfig.toml,source=bunfig.toml \
13 --mount=type=bind,target=package.json,source=package.json \
14 --mount=type=bind,target=apps/server/package.json,source=apps/server/package.json \
15 --mount=type=bind,target=packages/analytics/package.json,source=packages/analytics/package.json \
16 --mount=type=bind,target=packages/db/package.json,source=packages/db/package.json \
17 --mount=type=bind,target=packages/emails/package.json,source=packages/emails/package.json \
18 --mount=type=bind,target=packages/error/package.json,source=packages/error/package.json \
19 --mount=type=bind,target=packages/regions/package.json,source=packages/regions/package.json \
20 --mount=type=bind,target=packages/tinybird/package.json,source=packages/tinybird/package.json \
21 --mount=type=bind,target=packages/tracker/package.json,source=packages/tracker/package.json \
22 --mount=type=bind,target=packages/upstash/package.json,source=packages/upstash/package.json \
23 --mount=type=bind,target=packages/utils/package.json,source=packages/utils/package.json \
24 --mount=type=bind,target=packages/tsconfig/package.json,source=packages/tsconfig/package.json \
25 --mount=type=bind,target=packages/assertions/package.json,source=packages/assertions/package.json \
26 --mount=type=bind,target=packages/regions/package.json,source=packages/regions/package.json \
27 --mount=type=bind,target=packages/theme-store/package.json,source=packages/theme-store/package.json \
28 --mount=type=cache,target=/root/.bun/install/cache,sharing=locked \
29 bun install --production --frozen-lockfile --verbose
30
31# build
32FROM oven/bun@sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025 AS build
33LABEL \
34 org.opencontainers.image.base.digest="sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025" \
35 org.opencontainers.image.base.name="docker.io/oven/bun:1.3.0"
36ENV NODE_ENV="production"
37WORKDIR /app/apps/server
38COPY \
39 --link \
40 "." "/app/"
41COPY \
42 --from=install \
43 --link \
44 "/app/node_modules" "/app/node_modules"
45RUN bun build --compile --sourcemap src/index.ts --outfile=app
46
47# runtime
48FROM debian@sha256:52927eff8153b563244f98cdc802ba97918afcdf67f9e4867cbf1f7afb3d147b AS runtime
49LABEL \
50 io.dofigen.version="2.5.0" \
51 org.opencontainers.image.base.digest="sha256:52927eff8153b563244f98cdc802ba97918afcdf67f9e4867cbf1f7afb3d147b" \
52 org.opencontainers.image.base.name="docker.io/debian:bullseye-slim"
53COPY \
54 --from=build \
55 --chown=1000:1000 \
56 --chmod=555 \
57 --link \
58 "/app/apps/server/app" "/bin/"
59USER 1000:1000
60EXPOSE 3000
61ENTRYPOINT ["/bin/app"]