Files
Photography/Dockerfile
Kroonk e5e313924d Installiere JPEG/PNG/WebP Delegates fuer ImageMagick in Alpine
Alpine packt Format-Dekoder separat - ohne libjpeg-turbo, libpng, libwebp
kann magick keine JPG/PNG/WebP Dateien lesen ("no decode delegate").

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 21:35:08 +02:00

43 lines
1015 B
Docker

# === Build-Phase: Jekyll kompiliert die statische Website ===
FROM ruby:3.2-alpine AS builder
RUN apk add --no-cache build-base
WORKDIR /site
COPY Gemfile ./
RUN bundle install
COPY . .
RUN bundle exec jekyll build
# === Serve-Phase: node.js backend + ImageMagick ===
FROM node:20-alpine
# ImageMagick + Format-Delegates (JPEG/PNG/WebP), Build-Tools fuer sqlite3 native bindings
RUN apk add --no-cache imagemagick \
libjpeg-turbo libjpeg-turbo-dev \
libpng libpng-dev \
libwebp libwebp-dev \
python3 make g++ build-base sqlite-dev
WORKDIR /app
COPY package*.json ./
RUN npm install --omit=dev
COPY backend ./backend
COPY --from=builder /site/_site ./public
COPY entrypoint.sh /entrypoint.sh
# Behebt Windows CRLF Zeilenumbrueche, ansonsten stuerzt Alpine mit "sh\r: not found" ab!
RUN sed -i 's/\r$//' /entrypoint.sh
RUN chmod +x /entrypoint.sh
# Verzeichnisse anlegen
RUN mkdir -p /app/public/images/fulls /app/public/images/thumbs /app/data
EXPOSE 8090
ENTRYPOINT ["/entrypoint.sh"]