summaryrefslogtreecommitdiff
path: root/frontend/Dockerfile
diff options
context:
space:
mode:
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