Langflow / Dockerfile
GabrielLogspace's picture
Update Dockerfile
b37b58e verified
raw
history blame
1.3 kB
FROM nikolaik/python-nodejs:python3.10-nodejs21
# Update and install required packages
RUN apt-get update && apt-get install -y gcc g++ git make pipx && rm -rf /var/lib/apt/lists/*
ENV LANGFLOW_HOME=/home/langflow \
PATH=/root/.local/bin:$PATH
ENV LANGFLOW_DATABASE_URL=sqlite:////home/langflow/langflow.db
# Clone the langflow repository and switch to the relevant branch
ADD https://api.github.com/repos/logspace-ai/langflow/git/refs/heads/db version.json
RUN git clone https://github.com/logspace-ai/langflow.git $LANGFLOW_HOME \
&& cd $LANGFLOW_HOME \
&& git checkout zustand/io/migration && git pull
# Create a non-root user 'langflow' and grant ownership
RUN adduser --disabled-password --gecos '' langflow && chown -R langflow:langflow $LANGFLOW_HOME
USER langflow
# Copy the code into the container, now as the non-root user
WORKDIR $LANGFLOW_HOME
COPY --chown=langflow:langflow . .
# Create logs directory (as 'langflow' user)
RUN mkdir logs
# Update the config.yaml file, build and install the langflow package
# Make sure the non-root user has permissions to execute these operations
RUN make setup_poetry && make install_frontend && make build_frontend && make install_backend
CMD ["make", "start", "host=0.0.0.0", "port=7860", "log_level=debug", "open_browser=false"]