-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
35 lines (22 loc) · 845 Bytes
/
Copy pathDockerfile
File metadata and controls
35 lines (22 loc) · 845 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Base
FROM node:26-alpine3.23 AS base
RUN npm install --global pnpm@^11.1.0
WORKDIR /studio
# Development
FROM base AS development
CMD ["pnpm", "vite"]
# Production
FROM base AS production
ARG VITE_BASE_LAB_URL=https://squig.link
ARG VITE_BASE_SERVER_URL=https://server.squiglink.com
ARG VITE_CLOUDFLARE_TURNSTILE_ENABLED=true
ARG VITE_CLOUDFLARE_TURNSTILE_SITE_KEY=build-time-secret
ENV VITE_BASE_LAB_URL=${VITE_BASE_LAB_URL}
ENV VITE_BASE_SERVER_URL=${VITE_BASE_SERVER_URL}
ENV VITE_CLOUDFLARE_TURNSTILE_ENABLED=${VITE_CLOUDFLARE_TURNSTILE_ENABLED}
ENV VITE_CLOUDFLARE_TURNSTILE_SITE_KEY=${VITE_CLOUDFLARE_TURNSTILE_SITE_KEY}
COPY package.json pnpm-lock.yaml ./
RUN pnpm install --frozen-lockfile && npm install -g serve
COPY . .
RUN pnpm vue-tsc --noEmit && pnpm vite build
CMD ["serve", "dist", "--single", "--listen", "8080"]