From 1eb5a2f863c3313f9f242bf69384d65cc86a7cd1 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 24 Sep 2025 09:30:40 +0000 Subject: [PATCH] Update --- Dockerfile | 20 ++++++++++++++++++++ docker-compose.dev.yml | 13 +++++++++++++ scripts/start-dev.sh | 13 +++++++++++-- 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 Dockerfile create mode 100644 docker-compose.dev.yml mode change 100755 => 100644 scripts/start-dev.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b37b152 --- /dev/null +++ b/Dockerfile @@ -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"] diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml new file mode 100644 index 0000000..4b6b0c2 --- /dev/null +++ b/docker-compose.dev.yml @@ -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 diff --git a/scripts/start-dev.sh b/scripts/start-dev.sh old mode 100755 new mode 100644 index 9e4fe42..6a72de4 --- a/scripts/start-dev.sh +++ b/scripts/start-dev.sh @@ -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