summaryrefslogtreecommitdiff
path: root/frontend/Dockerfile
diff options
context:
space:
mode:
authorArne Rief <riearn@proton.me>2026-01-10 22:33:36 +0100
committerArne Rief <riearn@proton.me>2026-01-10 22:33:36 +0100
commita28e6fbcbfc8feccdcba200c2421f5c42a78d97a (patch)
treef35c6be871ca421ee67f3b615f50d640071aa9d5 /frontend/Dockerfile
parente836e7dd4ed5e9fa60e949d159100040b22a8f48 (diff)
Docker
Diffstat (limited to 'frontend/Dockerfile')
-rw-r--r--frontend/Dockerfile28
1 files changed, 28 insertions, 0 deletions
diff --git a/frontend/Dockerfile b/frontend/Dockerfile
new file mode 100644
index 0000000..791cd87
--- /dev/null
+++ b/frontend/Dockerfile
@@ -0,0 +1,28 @@
+# syntax=docker/dockerfile:1
+
+# BUILD STAGE
+FROM node:22-alpine AS builder
+
+WORKDIR /app
+
+COPY package*.json ./
+
+RUN npm ci
+
+# Copy .env.docker as .env for Vite
+COPY .env.docker .env
+
+COPY . .
+
+# Compile TypeScript & create optimized production build
+RUN npm run build
+
+# PRODUCTION STAGE
+FROM nginx:alpine AS production
+
+# Copy production build files to nginx
+COPY --from=builder /app/dist /usr/share/nginx/html
+
+COPY nginx.conf /etc/nginx/conf.d/default.conf
+
+EXPOSE 80 \ No newline at end of file