Add Dockerfile + nginx for Coolify deployment

Multi-stage build (node -> nginx) serving the Vite static output on
port 80, matching the dockerfile build pack used for other apps.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
fightme-cmd
2026-06-17 13:35:06 +02:00
parent a198219bc0
commit 960f63dc21
3 changed files with 35 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
node_modules
dist
.git
*.log
.DS_Store
+13
View File
@@ -0,0 +1,13 @@
# Build the Vite app, then serve the static output with nginx.
FROM node:20-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM nginx:alpine
COPY nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=build /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
+17
View File
@@ -0,0 +1,17 @@
server {
listen 80;
server_name _;
root /usr/share/nginx/html;
index index.html;
# Single-page app: unknown paths fall back to index.html
location / {
try_files $uri $uri/ /index.html;
}
# Hashed Vite build assets are immutable — cache hard
location /assets/ {
expires 1y;
add_header Cache-Control "public, immutable";
}
}