* fix: remove hardcoded default superuser password * fix: harden legacy superuser credential handling * fix: update superuser CI paths * [autofix.ci] apply automated fixes * fix: have images default auto_login to false have images default auto_login to false * fix: reject legacy superuser password * fix: align docker auth setup docs * docs: fix custom docker auth examples * docs: include auth env in docker upgrade examples --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Adam Aghili <Adam.Aghili@ibm.com>
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 -
Create a
.envfile with the LangFlow admin password:LANGFLOW_SUPERUSER_PASSWORD=replace-with-a-strong-passwordThe default admin username is
langflow. -
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_SUPERUSER_PASSWORD: The initial admin password. This value is required in.env.LANGFLOW_CONFIG_DIR: The directory where LangFlow stores logs, file storage, monitor data, and secret keys.
Volumes:
langflow-data: This volume is mapped to/app/langflowin the container.
PostgreSQL Service
The postgres service uses the postgres:16-trixie Docker image and exposes port 5432. The image is pinned to a specific Debian base (trixie, Debian 13) so the postgres:16 tag cannot silently roll its underlying OS, which would otherwise produce a glibc collation version mismatch warning on existing data volumes.
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.
Upgrading from a bookworm-initialized volume
Earlier versions of this example used postgres:16, which initially shipped on Debian Bookworm (glibc 2.36). The pinned image now uses Trixie (glibc 2.41). On the first start against a volume that was initialized under Bookworm, PostgreSQL logs a one-time warning:
WARNING: database "langflow" has a collation version mismatch
DETAIL: The database was created using collation version 2.36, but the operating system provides version 2.41.
To clear it, refresh the collation version against the running database (one-off, takes seconds on a typical Langflow database):
docker compose exec postgres \
psql -U langflow -d langflow \
-c "REINDEX DATABASE langflow;" \
-c "ALTER DATABASE langflow REFRESH COLLATION VERSION;"
Fresh installs are unaffected.
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.