FROM node:18-alpine USER root # Arguments that can be passed at build time ARG FLOWISE_PATH=/usr/local/lib/node_modules/flowise # Важно: используем /data для Persistent Storage ARG BASE_PATH=/data/.flowise ARG DATABASE_PATH=$BASE_PATH ARG APIKEY_PATH=$BASE_PATH ARG SECRETKEY_PATH=$BASE_PATH ARG LOG_PATH=$BASE_PATH/logs ARG BLOB_STORAGE_PATH=$BASE_PATH/storage # Установка зависимостей RUN apk add --no-cache git python3 py3-pip make g++ build-base cairo-dev pango-dev chromium ENV PUPPETEER_SKIP_DOWNLOAD=true ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser # Установка Flowise RUN npm install -g flowise@"^2.2.4" # Установка переменной окружения для логов Flowise (ВАЖНО) ENV FLOWISE_LOG_DIR=/data/flowise/logs WORKDIR /data # Создание всех необходимых директорий внутри /data (включая директорию для логов) RUN mkdir -p $LOG_PATH $BLOB_STORAGE_PATH $DATABASE_PATH $APIKEY_PATH $SECRETKEY_PATH $FLOWISE_LOG_DIR # Установка владельца директорий (важно для Spaces) - ПОСЛЕ создания директорий! RUN chown -R 1000:1000 /data # Переключение на пользователя 1000 (после установки прав) USER 1000 # Команда запуска Flowise с указанием директории для логов (ВАЖНО) CMD ["npx", "flowise", "start", "--log-dir", "$FLOWISE_LOG_DIR"]