Files
Socialflow/Dockerfile
T
michaelschal 0b70e00834 Add font support to correctly display text in generated images for social media
Integrate DejaVu Sans font by updating Dockerfile, registering the font in imageProcessor.ts, and referencing it in canvas font styles to resolve text rendering issues on Facebook stories.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: ded0e79e-eb39-4fe2-9aad-3cb0b8722e22
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/EMt8Koz
2025-11-18 07:15:11 +00:00

53 lines
1.1 KiB
Docker

# Utiliser Node.js 20 Alpine pour une image légère
FROM node:20-alpine
WORKDIR /app
# Installer les dépendances système nécessaires pour bcrypt, canvas et sharp
RUN apk add --no-cache \
python3 \
make \
g++ \
cairo-dev \
jpeg-dev \
pango-dev \
giflib-dev \
pixman-dev \
cairo \
jpeg \
pango \
giflib \
pixman \
vips-dev \
pkgconfig \
ttf-dejavu \
fontconfig
# Copier les fichiers de configuration
COPY package*.json ./
# Installer les dépendances avec npm install (plus permissif que npm ci)
RUN npm install --legacy-peer-deps
# Copier tout le code source
COPY . .
# Augmenter la mémoire pour le build (résout les problèmes de mémoire avec Vite)
ENV NODE_OPTIONS="--max-old-space-size=4096"
# Build du frontend et backend avec logs détaillés
RUN npm run build 2>&1 | tee build.log || (cat build.log && exit 1)
# Nettoyer les fichiers inutiles pour réduire la taille
RUN rm -rf client node_modules/.cache
# Exposer le port de l'application
EXPOSE 5555
# Variables d'environnement par défaut
ENV NODE_ENV=production
ENV PORT=5555
# Démarrer l'application
CMD ["npm", "run", "start"]