Optimized Dockerfile: remove Electron, fix registry login
Some checks failed
Docker Build & Push / build (push) Failing after 1m39s
LogMaster CI/CD / build-and-test (push) Has been cancelled
LogMaster CI/CD / docker (push) Has been cancelled

This commit is contained in:
root
2026-05-24 13:54:58 +02:00
parent 74c28004ef
commit 42c7548f99
2 changed files with 5 additions and 18 deletions

View File

@@ -14,14 +14,12 @@ jobs:
- name: Docker Login - name: Docker Login
run: | run: |
echo "${{ secrets.GITEATOKEN }}" | docker login git.kgessner.de --username keviin --password-stdin echo "${{ secrets.GITEATOKEN }}" | docker login git.kgessner.de --username LuiiCode --password-stdin
- name: Build Image - name: Build Image
run: | run: |
docker build -t git.kgessner.de/keviin/logmaster:latest . docker build -t git.kgessner.de/keviin/logmaster:latest .
docker tag git.kgessner.de/keviin/logmaster:latest git.kgessner.de/keviin/logmaster:${GITHUB_SHA::8}
- name: Push Image - name: Push Image
run: | run: |
docker push git.kgessner.de/keviin/logmaster:latest docker push git.kgessner.de/keviin/logmaster:latest
docker push git.kgessner.de/keviin/logmaster:${GITHUB_SHA::8}

View File

@@ -2,39 +2,28 @@
FROM node:20-alpine AS builder FROM node:20-alpine AS builder
WORKDIR /app WORKDIR /app
COPY package*.json ./ COPY package*.json ./
RUN npm ci --omit=dev && npm ci RUN npm ci
COPY tsconfig.server.json ./ COPY tsconfig.server.json ./
COPY src/server/ ./src/server/ COPY src/server/ ./src/server/
RUN npx tsc -p tsconfig.server.json RUN npx tsc -p tsconfig.server.json
# ── Production-Stage: Nur das Nötigste ───────────────────────────── # ── Production-Stage: Minimal, kein Electron ──────────────────────
FROM node:20-alpine FROM node:20-alpine
WORKDIR /app WORKDIR /app
# Runtime-User (nicht root)
RUN addgroup -S logviewer && adduser -S logviewer -G logviewer RUN addgroup -S logviewer && adduser -S logviewer -G logviewer
# Nur production dependencies
COPY package*.json ./ COPY package*.json ./
RUN npm ci --omit=dev && npm cache clean --force # Installiere OHNE Electron (wird für Server-Mode nicht gebraucht)
RUN npm ci --omit=dev && npm uninstall electron && npm cache clean --force
# Kompilierte Server-Dateien
COPY --from=builder /app/dist-server/ ./dist-server/ COPY --from=builder /app/dist-server/ ./dist-server/
# Web-UI (statische Assets)
COPY src/web/ ./src/web/ COPY src/web/ ./src/web/
# Persistenz-Volume
RUN mkdir -p /app/collector-data /app/monitor-data && \ RUN mkdir -p /app/collector-data /app/monitor-data && \
chown -R logviewer:logviewer /app chown -R logviewer:logviewer /app
# Default-CMD (beide Modi aktiv)
EXPOSE 8080 EXPOSE 8080
ENV HOST=0.0.0.0 PORT=8080 LOG_MODE=both ENV HOST=0.0.0.0 PORT=8080 LOG_MODE=both
USER logviewer USER logviewer
CMD ["node", "dist-server/server.js"] CMD ["node", "dist-server/server.js"]
# Mögliche Overrides:
# Collector: -e LOG_MODE=collector -e COLLECTOR_UDP_PORT=5140
# Viewer: -e LOG_MODE=viewer -p 9090:9090
# Monitor: -e LOG_MODE=monitor -e MONITOR_RULES='[...]'