Openstatus
www.openstatus.dev
1ignore:
2 - node_modules
3 - /apps/docs
4 - /apps/screenshot-service
5 - /apps/server
6 - /apps/web
7 - /apps/dashboard
8 - /apps/status-page
9 - /packages/analytics
10 - /packages/api
11 - /packages/error
12 - /packages/tracker
13builders:
14 install:
15 fromImage: oven/bun:1.3.0
16 workdir: /app/
17 # Copy project
18 bind:
19 - bunfig.toml
20 - package.json
21 - apps/workflows/package.json
22 - packages/assertions/package.json
23 - packages/db/package.json
24 - packages/emails/package.json
25 - packages/notifications/discord/package.json
26 - packages/notifications/email/package.json
27 - packages/notifications/ntfy/package.json
28 - packages/notifications/opsgenie/package.json
29 - packages/notifications/pagerduty/package.json
30 - packages/notifications/slack/package.json
31 - packages/notifications/twillio-sms/package.json
32 - packages/notifications/webhook/package.json
33 - packages/regions/package.json
34 - packages/utils/package.json
35 - packages/tsconfig/package.json
36 - packages/tinybird/package.json
37 - packages/upstash/package.json
38 - packages/theme-store/package.json
39 # Install dependencies
40 run: bun install --production --frozen-lockfile --verbose
41 cache:
42 - /root/.bun/install/cache
43 build:
44 fromImage: oven/bun:1.3.0
45 workdir: /app/apps/workflows
46 copy:
47 - . /app/
48 - fromBuilder: install
49 source: /app/node_modules
50 target: /app/node_modules
51 # Should set env to production here
52 # Compile the TypeScript application
53 env:
54 NODE_ENV: production
55 run: bun build --compile --target bun --sourcemap --format=cjs src/index.ts --outfile=app --external '@libsql/*' --external libsql
56
57 docker:
58 fromImage: oven/bun:1.3.1
59 workdir: /app/apps/workflows
60 copy:
61 - . /app/
62 run: bun run src/build-docker.ts
63
64 libsql:
65 fromImage: oven/bun:1.3.0
66 workdir: /app/
67 copy:
68 - fromBuilder: docker
69 source: /app/apps/build-docker/package.json
70 target: /app/package.json
71 run: bun install
72
73 ca-certs:
74 fromImage: debian:bullseye-slim
75 run: apt update && apt install -y ca-certificates && update-ca-certificates
76
77fromImage: debian:bullseye-slim
78workdir: /app/
79copy:
80 - fromBuilder: build
81 source: /app/apps/workflows/app
82 target: /app/apps/workflows/
83 chmod: "555"
84 - fromBuilder: libsql
85 source: /app/node_modules
86 target: /app/packages/db/node_modules
87 - fromBuilder: libsql
88 source: /app/node_modules
89 target: /app/node_modules
90 - fromBuilder: ca-certs
91 source: /etc/ssl/certs/ca-certificates.crt
92 target: /etc/ssl/certs/
93expose: 3000
94entrypoint: /app/apps/workflows/app