Add production deployment

This commit is contained in:
2025-08-23 17:17:03 +03:00
Unverified
parent 5b7ba90628
commit 320c6bbe95
11 changed files with 214 additions and 3 deletions
+26
View File
@@ -0,0 +1,26 @@
FROM node:24 AS frontend
WORKDIR /app
COPY package.json .
RUN npm install --ignore-scripts
COPY frontend frontend
RUN npm run build
FROM node:24 AS server
WORKDIR /server
COPY deployment/frontend/package.json .
RUN npm install
COPY deployment/frontend/ .
FROM node:24-slim
WORKDIR /app
COPY --from=frontend /app/frontend/dist .
WORKDIR /server
COPY --from=server /server .
ENV STATIC_FILE_PATH=/app
ENTRYPOINT ["npm", "run", "start"]
+12
View File
@@ -0,0 +1,12 @@
{
"name": "frontend-server",
"version": "1.0.0",
"main": "server.js",
"scripts": {
"start": "node server.js"
},
"dependencies": {
"express": "^5.1.0",
"http-proxy-middleware": "^3.0.5"
}
}
+22
View File
@@ -0,0 +1,22 @@
// server.js
const express = require('express');
const { createProxyMiddleware } = require('http-proxy-middleware');
const path = require('path');
const app = express();
const port = process.env.PORT || 3000;
const backendHost = process.env.BACKEND_HOST || "http://localhost:8300";
const file_path = process.env.STATIC_FILE_PATH || ".";
app.use('/api', createProxyMiddleware({
target: backendHost,
changeOrigin: true,
pathRewrite: { '^/api': '' },
ws: true
}));
app.use(express.static(path.resolve(file_path)));
app.listen(port, () => {
console.log(`Server launched на http://localhost:${port}`);
});