From 9c92ef42a145f12f88aa66fc711967c5bfb80fec Mon Sep 17 00:00:00 2001 From: Ficik Date: Thu, 18 Jun 2026 23:48:37 +0200 Subject: [PATCH] Add Docker Compose deployment for graphfx-ui --- graphfx-ui/Dockerfile | 19 +++++++++++++++++++ graphfx-ui/docker-compose.yml | 15 +++++++++++++++ graphfx-ui/nginx.conf | 16 ++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 graphfx-ui/Dockerfile create mode 100644 graphfx-ui/docker-compose.yml create mode 100644 graphfx-ui/nginx.conf diff --git a/graphfx-ui/Dockerfile b/graphfx-ui/Dockerfile new file mode 100644 index 0000000..a93e230 --- /dev/null +++ b/graphfx-ui/Dockerfile @@ -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 diff --git a/graphfx-ui/docker-compose.yml b/graphfx-ui/docker-compose.yml new file mode 100644 index 0000000..6673f4e --- /dev/null +++ b/graphfx-ui/docker-compose.yml @@ -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 diff --git a/graphfx-ui/nginx.conf b/graphfx-ui/nginx.conf new file mode 100644 index 0000000..3b8eae2 --- /dev/null +++ b/graphfx-ui/nginx.conf @@ -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"; + } +}