Merge branch 'main' of https://git.kgessner.de/Keviin/LogMaster
This commit is contained in:
17
.gitea/workflows/docker-build.yml
Normal file
17
.gitea/workflows/docker-build.yml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
name: Docker Build & Push
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: linux
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Build & Push to Gitea Registry
|
||||||
|
run: |
|
||||||
|
echo "${{ secrets.GITEATOKEN }}" | docker login git.kgessner.de --username luiiCode --password-stdin
|
||||||
|
docker build -t git.kgessner.de/keviin/logmaster:latest .
|
||||||
|
docker push git.kgessner.de/keviin/logmaster:latest
|
||||||
29
Dockerfile
29
Dockerfile
@@ -1,11 +1,19 @@
|
|||||||
|
<<<<<<< HEAD
|
||||||
FROM node:20-alpine AS builder
|
FROM node:20-alpine AS builder
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY package.json package-lock.json* ./
|
COPY package.json package-lock.json* ./
|
||||||
|
=======
|
||||||
|
# ── Build-Stage: TypeScript kompilieren ───────────────────────────
|
||||||
|
FROM node:20-alpine AS builder
|
||||||
|
WORKDIR /app
|
||||||
|
COPY package*.json ./
|
||||||
|
>>>>>>> 6df1dedbe8ca9558f5643432b61d49cd826e0ed5
|
||||||
RUN 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
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
FROM node:20-alpine
|
FROM node:20-alpine
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
RUN apk add --no-cache bzip2 xz zstd
|
RUN apk add --no-cache bzip2 xz zstd
|
||||||
@@ -27,4 +35,25 @@ ENV HOST=0.0.0.0
|
|||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
|
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
|
||||||
CMD wget -qO- http://localhost:8080/api/health || exit 1
|
CMD wget -qO- http://localhost:8080/api/health || exit 1
|
||||||
|
=======
|
||||||
|
# ── Production-Stage: Minimal, kein Electron ──────────────────────
|
||||||
|
FROM node:20-alpine
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
RUN addgroup -S logviewer && adduser -S logviewer -G logviewer
|
||||||
|
|
||||||
|
COPY package*.json ./
|
||||||
|
# Installiere OHNE Electron (wird für Server-Mode nicht gebraucht)
|
||||||
|
RUN npm ci --omit=dev && npm uninstall electron && npm cache clean --force
|
||||||
|
|
||||||
|
COPY --from=builder /app/dist-server/ ./dist-server/
|
||||||
|
COPY src/web/ ./src/web/
|
||||||
|
|
||||||
|
RUN mkdir -p /app/collector-data /app/monitor-data && \
|
||||||
|
chown -R logviewer:logviewer /app
|
||||||
|
|
||||||
|
EXPOSE 8080
|
||||||
|
ENV HOST=0.0.0.0 PORT=8080 LOG_MODE=both
|
||||||
|
USER logviewer
|
||||||
|
>>>>>>> 6df1dedbe8ca9558f5643432b61d49cd826e0ed5
|
||||||
CMD ["node", "dist-server/server.js"]
|
CMD ["node", "dist-server/server.js"]
|
||||||
|
|||||||
Reference in New Issue
Block a user