From 0bdbbc6258709ecddabb0e50ee3136ee570f22d0 Mon Sep 17 00:00:00 2001 From: "courtmanr@gmail.com" Date: Mon, 10 Mar 2025 11:21:43 +0000 Subject: [PATCH] fix: static file serving in production Docker container --- CHANGELOG.md | 5 +++++ Dockerfile | 9 ++------- frontend/package.json | 2 +- frontend/src/utils/version.js | 2 +- package.json | 2 +- src/server.ts | 1 + 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b2558fa17..f803f9e32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ All notable changes to this project will be documented in this file. +## [1.4.1] - 2024-03-15 + +### Fixed +- Fixed static file serving in production Docker container + ## [1.4.0] - 2024-03-15 ### Added diff --git a/Dockerfile b/Dockerfile index cfb8658fd..6f4aa000f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,7 +37,7 @@ RUN cd frontend && npm run build FROM node:18-slim # Add version labels -LABEL version="1.4.0" +LABEL version="1.4.1" LABEL description="Pulse - A lightweight monitoring application for Proxmox VE" LABEL maintainer="Richard Courtman" @@ -65,17 +65,12 @@ COPY --from=builder /app/package*.json ./ COPY --from=builder /app/dist ./dist COPY --from=builder /app/frontend/dist ./frontend/dist -# Create a symbolic link from /app/dist/public to /app/frontend/dist -RUN mkdir -p /app/dist/public && rm -rf /app/dist/public && ln -s /app/frontend/dist /app/dist/public - -# Install only production dependencies -RUN npm ci --only=production - # Create logs directory with proper permissions RUN mkdir -p /app/logs && chown -R pulse:pulse /app/logs # Set environment variables ENV PORT=7654 +ENV NODE_ENV=production # Switch to non-root user USER pulse diff --git a/frontend/package.json b/frontend/package.json index 280713e93..b0e543fa6 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "pulse-frontend", - "version": "1.4.0", + "version": "1.4.1", "main": "index.js", "scripts": { "dev": "vite", diff --git a/frontend/src/utils/version.js b/frontend/src/utils/version.js index 50de99142..5bdd02fb3 100644 --- a/frontend/src/utils/version.js +++ b/frontend/src/utils/version.js @@ -1,4 +1,4 @@ // This file contains the version information for the application // It is automatically updated when a new release is created -export const VERSION = '1.4.0'; +export const VERSION = '1.4.1'; diff --git a/package.json b/package.json index 4aea2150c..275377068 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pulse", - "version": "1.4.0", + "version": "1.4.1", "main": "dist/server.js", "scripts": { "start": "node dist/server.js", diff --git a/src/server.ts b/src/server.ts index 3349c03b0..7eae60597 100644 --- a/src/server.ts +++ b/src/server.ts @@ -31,6 +31,7 @@ if (config.enableDevTools) { // Static files - only in production mode if (config.nodeEnv === 'production') { + // Serve static files from the frontend dist directory app.use(express.static(path.join(__dirname, '..', 'frontend', 'dist'))); // Serve index.html for all other routes in production