This makes the postgres instance only reachable from the langflow container and allows it to spin up even if another process (e.g. another postgres instance) is running on the host and binds to the same port. |
||
|---|---|---|
| .. | ||
| docker-compose.yml | ||
| Dockerfile | ||
| pre.docker-compose.yml | ||
| pre.Dockerfile | ||
| README.md | ||
Running LangFlow with Docker
This guide will help you get LangFlow up and running using Docker and Docker Compose.
Prerequisites
- Docker
- Docker Compose
Steps
-
Clone the LangFlow repository:
git clone https://github.com/langflow-ai/langflow.git -
Navigate to the
docker_exampledirectory:cd langflow/docker_example -
Run the Docker Compose file:
docker compose up
LangFlow will now be accessible at http://localhost:7860/.
Docker Compose Configuration
The Docker Compose configuration spins up two services: langflow and postgres.
LangFlow Service
The langflow service uses the langflowai/langflow:latest Docker image and exposes port 7860. It depends on the postgres service.
Environment variables:
LANGFLOW_DATABASE_URL: The connection string for the PostgreSQL database.LANGFLOW_CONFIG_DIR: The directory where LangFlow stores logs, file storage, monitor data, and secret keys.
Volumes:
langflow-data: This volume is mapped to/var/lib/langflowin the container.
PostgreSQL Service
The postgres service uses the postgres:16 Docker image and exposes port 5432.
Environment variables:
POSTGRES_USER: The username for the PostgreSQL database.POSTGRES_PASSWORD: The password for the PostgreSQL database.POSTGRES_DB: The name of the PostgreSQL database.
Volumes:
langflow-postgres: This volume is mapped to/var/lib/postgresql/datain the container.
Switching to a Specific LangFlow Version
If you want to use a specific version of LangFlow, you can modify the image field under the langflow service in the Docker Compose file. For example, to use version 1.0-alpha, change langflowai/langflow:latest to langflowai/langflow:1.0-alpha.