Merge pull request #22 from theoleuthardt/deployment

fix: python dependency error
This commit is contained in:
AurionTex 2025-02-23 14:24:53 +01:00 committed by GitHub
commit 4943846db7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,16 +1,28 @@
# Basis-Image FROM python:3.9-slim AS python-deps
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
gcc \
&& rm -rf /var/lib/apt/lists/*
RUN python -m venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"
RUN pip3 install --no-cache-dir watchdog gradio rembg
FROM node:18-alpine AS base FROM node:18-alpine AS base
# Install system dependencies RUN apk add --no-cache \
RUN apk add --no-cache libc6-compat libreoffice ttf-liberation ffmpeg python3 \
RUN apk add --update --no-cache python3 py3-pip \ ffmpeg \
&& ln -sf python3 /usr/bin/python \ libreoffice \
&& pip3 install --no-cache --upgrade pip setuptools \ ttf-liberation \
RUN pip3 install --no-cache watchdog gradio rembg libc6-compat
COPY --from=python-deps /opt/venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"
WORKDIR /app WORKDIR /app
# Dependencies installieren
FROM base AS deps FROM base AS deps
COPY package.json package-lock.json* yarn.lock* pnpm-lock.yaml* ./ COPY package.json package-lock.json* yarn.lock* pnpm-lock.yaml* ./
@ -21,7 +33,6 @@ RUN \
else echo "Lockfile not found." && exit 1; \ else echo "Lockfile not found." && exit 1; \
fi fi
# Build stage
FROM base AS builder FROM base AS builder
WORKDIR /app WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules COPY --from=deps /app/node_modules ./node_modules
@ -34,7 +45,6 @@ RUN \
else echo "Lockfile not found." && exit 1; \ else echo "Lockfile not found." && exit 1; \
fi fi
# Production image
FROM base AS runner FROM base AS runner
WORKDIR /app WORKDIR /app
@ -43,7 +53,6 @@ ENV NODE_ENV=production
RUN addgroup --system --gid 1001 nodejs RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 fastify RUN adduser --system --uid 1001 fastify
# Copy built application
COPY --from=builder --chown=fastify:nodejs /app/dist ./dist COPY --from=builder --chown=fastify:nodejs /app/dist ./dist
COPY --from=deps --chown=fastify:nodejs /app/node_modules ./node_modules COPY --from=deps --chown=fastify:nodejs /app/node_modules ./node_modules
COPY --from=builder --chown=fastify:nodejs /app/package.json ./package.json COPY --from=builder --chown=fastify:nodejs /app/package.json ./package.json