Add Docker Compose deployment for graphfx-ui

This commit is contained in:
2026-06-18 23:48:37 +02:00
parent 7b814b440f
commit 9c92ef42a1
3 changed files with 50 additions and 0 deletions

19
graphfx-ui/Dockerfile Normal file
View File

@@ -0,0 +1,19 @@
# syntax=docker/dockerfile:1
FROM node:24-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM nginx:1.27-alpine AS runtime
COPY nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=build /app/dist /usr/share/nginx/html
EXPOSE 80
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
CMD wget -qO- http://127.0.0.1/ >/dev/null || exit 1

View File

@@ -0,0 +1,15 @@
services:
graphfx-ui:
build:
context: .
image: graphfx-ui:local
container_name: graphfx-ui
restart: unless-stopped
ports:
- "18081:80"
healthcheck:
test: ["CMD", "wget", "-qO-", "http://127.0.0.1/"]
interval: 30s
timeout: 3s
retries: 3
start_period: 5s

16
graphfx-ui/nginx.conf Normal file
View File

@@ -0,0 +1,16 @@
server {
listen 80;
server_name _;
root /usr/share/nginx/html;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
location ~* \.(?:js|css|svg|png|jpg|jpeg|gif|ico|woff2?)$ {
try_files $uri =404;
add_header Cache-Control "public, max-age=31536000, immutable";
}
}