This commit is contained in:
root
2025-09-24 09:30:40 +00:00
parent c03e30a118
commit 1eb5a2f863
3 changed files with 44 additions and 2 deletions
+20
View File
@@ -0,0 +1,20 @@
# Stage 1: Frontend build
FROM node:20-alpine AS frontend-build
WORKDIR /app/frontend
COPY frontend/package.json frontend/package-lock.json ./
RUN npm ci
COPY frontend/ ./
RUN npm run build
# Stage 2: Backend + Frontend
FROM node:20-alpine AS runtime
WORKDIR /app/backend
COPY backend/package.json backend/package-lock.json ./
RUN npm ci --only=production
COPY backend/ ./
COPY --from=frontend-build /app/frontend/dist ./public
ENV NODE_ENV=production
EXPOSE 4000
USER node
CMD ["node", "index.js"]
+13
View File
@@ -0,0 +1,13 @@
version: '3.8'
services:
app:
build:
context: .
dockerfile: Dockerfile
ports:
- "4000:4000"
environment:
PORT: 4000
PORTAINER_URL: "https://your-portainer.example.com"
PORTAINER_API_KEY: "your_api_key_here"
restart: unless-stopped
Executable → Regular
+11 -2
View File
@@ -3,22 +3,31 @@ set -e
echo "🚀 Starte StackPulse Dev-Umgebung..."
# --- Backend ---
cd backend
npm install
npm start &
BACK_PID=$!
cd ..
# --- Frontend ---
cd frontend
npm install
npm run dev &
FRONT_PID=$!
# Optional: Kopiere Build-Dateien für Backend /public (nur für statisches Testen)
npm run build
cp -r dist ../backend/public
cd ..
echo ""
echo "✅ StackPulse läuft lokal:"
echo "Frontend: http://localhost:5173"
echo "Backend: http://localhost:3300"
echo "Frontend (Vite Dev): http://localhost:5173"
echo "Backend API: http://localhost:3300"
echo "Frontend (statisch im Backend/public): http://localhost:4000"
echo "Beenden mit STRG+C"
# Prozesse überwachen
wait $BACK_PID $FRONT_PID