Spaces:
Paused
Paused
File size: 1,328 Bytes
864ab5e a63322d 864ab5e a63322d 1c1b077 864ab5e a63322d 1c1b077 a63322d 864ab5e a63322d 864ab5e e4e288e a63322d 864ab5e a63322d 864ab5e a63322d 864ab5e e4e288e 864ab5e 63ba249 864ab5e 84132fa |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# Use official Node.js slim image
FROM node:20-slim
# Install system dependencies for image/audio processing (optional)
USER root
RUN apt update && apt install -y \
ffmpeg git python3 python3-pip make g++ build-essential \
libcairo2-dev libpango1.0-dev libjpeg-dev libpng-dev libgif-dev \
librsvg2-dev chromium libvips-dev libvips-tools imagemagick \
libmagickwand-dev libglib2.0-dev libjpeg62-turbo-dev \
libexif-dev libheif-dev graphicsmagick && \
apt clean
# Puppeteer Chromium path
ENV PUPPETEER_SKIP_DOWNLOAD=true
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
# Install n8n globally
RUN npm install -g n8n
# Switch to HF default node user
USER node
WORKDIR /workspace
# Expose HF default port
ENV N8N_PORT=7860
EXPOSE 7860
# Timezone & debug
ENV TZ=UTC
ENV GENERIC_TIMEZONE=UTC
ENV SHARP_VERBOSE=true
# PostgreSQL config will come from secrets
ENV DB_TYPE=postgresdb
ENV DB_POSTGRESDB_HOST=${DB_POSTGRESDB_HOST}
ENV DB_POSTGRESDB_PORT=${DB_POSTGRESDB_PORT}
ENV DB_POSTGRESDB_DATABASE=${DB_POSTGRESDB_DATABASE}
ENV DB_POSTGRESDB_USER=${DB_POSTGRESDB_USER}
ENV DB_POSTGRESDB_PASSWORD=${DB_POSTGRESDB_PASSWORD}
# n8n credentials encryption key
ENV N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
# Start n8n with tunnel for public HF URL
CMD ["n8n", "start", "--host", "0.0.0.0", "--port", "7860"]
|