FlowiseAI / Dockerfile
kivilaid's picture
Update Dockerfile
80c7f39 verified
Raw
History Blame
1.35 kB
FROM node:20-alpine
USER root
# Set environment variables
ENV PORT=8080
ENV HOST=0.0.0.0
ENV BASE_PATH=/data/.flowise
ENV DATABASE_PATH=/data/.flowise
ENV APIKEY_PATH=/data/.flowise
ENV SECRETKEY_PATH=/data/.flowise
ENV LOG_PATH=/data/.flowise/logs
ENV BLOB_STORAGE_PATH=/data/.flowise/storage
ENV EXECUTION_PATH=/app/packages/server/dist
# Install dependencies
RUN apk add --no-cache git python3 py3-pip make g++ build-base cairo-dev pango-dev chromium curl
# Set puppeteer environment variables
ENV PUPPETEER_SKIP_DOWNLOAD=true
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
# Set NODE_OPTIONS to increase memory limit
ENV NODE_OPTIONS=--max-old-space-size=4096
# Set working directory
WORKDIR /app
# Copy all files
COPY . .
# Install pnpm
RUN npm install -g pnpm
# Install dependencies
RUN pnpm install
# Build project
RUN pnpm build
# Set server bin as executable
RUN chmod +x /app/packages/server/bin/run
# Create necessary directories
RUN mkdir -p /data/.flowise/logs /data/.flowise/storage
RUN chmod -R 777 /data/.flowise
# Expose port for Hugging Face
EXPOSE 8080
# Health check
HEALTHCHECK --interval=30s --timeout=10s --start-period=15s --retries=3 \
CMD curl -f http://localhost:8080/ || exit 1
# Start command - using the native server bin script
CMD ["sh", "-c", "cd /app/packages/server/bin && ./run start"]