langflow/docker_example
Kuba 294de475c1
chore: Use expose instead of ports in docker compose example (#5592)
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.
2025-01-08 16:43:14 +00:00
..
docker-compose.yml chore: Use expose instead of ports in docker compose example (#5592) 2025-01-08 16:43:14 +00:00
Dockerfile Update Docker image references to langflowai in GitHub workflows and Docker Compose files (#1793) 2024-04-29 13:38:18 -03:00
pre.docker-compose.yml chore: Update docker volume mount path for langflow-data in pre.docker-compose.yml 2024-05-28 20:46:46 -03:00
pre.Dockerfile Update Docker image references to langflowai in GitHub workflows and Docker Compose files (#1793) 2024-04-29 13:38:18 -03:00
README.md Update Docker image references to langflowai in GitHub workflows and Docker Compose files (#1793) 2024-04-29 13:38:18 -03:00

Running LangFlow with Docker

This guide will help you get LangFlow up and running using Docker and Docker Compose.

Prerequisites

  • Docker
  • Docker Compose

Steps

  1. Clone the LangFlow repository:

    git clone https://github.com/langflow-ai/langflow.git
    
  2. Navigate to the docker_example directory:

    cd langflow/docker_example
    
  3. 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/langflow in 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/data in 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.