Complete Guide to Installing Flowise with Docker

Last update: 31/07/2026

  • Implementation of a code-free AI chatbot creation environment using Docker containers.
  • Flexible infrastructure management allowing deployment on local servers or VPS.
  • Ability to integrate complex workflows with language models, vector databases, and memory.
How to install Flowise with Docker step by step

If you want to start creating artificial intelligence applications without writing all the code from scratch, Flowise is one of the most accessible tools available. Its visual interface allows you to connect models, instructions, memory, databases, and external tools using nodes, making it easy to create chatbots, RAG flows, and AI agents.

Although Flowise can be installed directly using Node.js, using Docker avoids many of the dependency and versioning issues. The application runs within a isolated and reproducible containerTherefore, it is easier to move it to another computer, update it, or deploy it on a VPS.

In this guide we'll see how to install Flowise with Docker Compose using a single container, how to preserve data after restarting or updating the application, and what measures you should take before exposing it to the internet.

Flowise Cloud or self-installation: which option to choose

Flowise Cloud or self-installation

Before installing anything, you should decide where you want to run Flowise. The first option is Flowise CloudThe service is managed by its developers. It's the fastest way if you don't want to configure servers, databases, HTTPS certificates, or backups.

The second option is to host Flowise on your own computer, NAS, home server, or VPS. Self-hosting provides more control over infrastructure and dataBut it also makes you responsible for updates, security, and backups.

Feature Flowise Cloud Self-managed Flowise
Facility It does not require its own server. You need Docker, Node.js, or another method
Maintenance Managed by the provider User responsibility
Data control It depends on the service contracted. Greater control over storage
Updates Automatic They must be applied manually
Scalability Simplified It depends on the infrastructure
Cost Subscription according to the plan Own equipment or server cost

For testing on your own computer, Docker is a very convenient option. If the instance will be used by other people, you'll also need to configure authentication, HTTPS, a suitable database, and a backup strategy.

Requirements for installing Flowise with Docker

Requirements for installing Flowise with Docker

Before you begin, you need to have installed Docker Desktop On Windows or macOS. On Linux, you can use Docker Engine along with the Docker Compose plugin.

Verify that both components are working by running:

docker --version
docker compose version

It is also recommended to have Git installed if you are going to use the official method via Docker Compose:

git --version

Flowise uses port by default 3000If another application is already using it, you'll need to publish the container on a different port, for example, 3001.

How to install Flowise using Docker Compose

How to install Flowise using Docker Compose

Docker Compose is the most recommended method because it saves the configuration in files that can later be reviewed, modified, and reused. It also simplifies updates and allows you to add other services, such as PostgreSQL or Redis, if the project grows.

Clone the official repository

Open a terminal and download the Flowise repository:

git clone https://github.com/FlowiseAI/Flowise.git
cd Flowise/docker

Within the directory docker You will find the Compose file and an example with the environment variables.

Create and review the .env file

On Linux or macOS you can create the file using:

cp .env.example .env

In PowerShell, the equivalent command is:

Copy-Item .env.example .env

Then open the file .env and check their values. The available variables may change between versions, so it's always best to start with the example file included in the version you are installing.

Pay particular attention to the port, database configuration, storage paths, and secrets used to protect sessions and tokens. Do not reuse the sample values ​​in a public instance.

Exclusive content - Click Here  How to always show file extensions in Windows 11

Lift the container

From the folder Flowise/docker, run:

docker compose up -d

The parameter -d It starts background services. You can check their status using:

docker compose ps

To view the latest records:

docker compose logs --tail=100

If everything is working correctly, open this address in your browser:

http://localhost:3000

In a new installation you will need to complete the creation of the administrator accountUse a unique and sufficiently strong password, especially if the application will be accessible from other computers.

How to install Flowise with a single Docker command

You can also run the image published on Docker Hub directly. This method is useful for performing quick tests without cloning the repository.

First, create a volume where the data will be stored:

docker volume create flowise_data

Then the container starts:

docker run -d \
  --name flowise \
  --restart unless-stopped \
  -p 3000:3000 \
  -v flowise_data:/home/node/.flowise \
  flowiseai/flowise:latest

In PowerShell or CMD you can enter the command in a single line:

docker run -d --name flowise --restart unless-stopped -p 3000:3000 -v flowise_data:/home/node/.flowise flowiseai/flowise:latest

The most important part is this:

-v flowise_data:/home/node/.flowise

The current image runs the application through the user node, whose personal directory is /home/nodeThe volume allows for flows, credentials, configurations, and other files. survive the disposal of the container.

The parameter --restart unless-stopped This causes Docker to restart Flowise after the computer or server is restarted, except when the container has been deliberately stopped.

How to change the Flowise port

The value located on the left in -p 3000:3000 This corresponds to the host computer's port. If port 3000 is in use, you can use another port without changing the container's internal port:

docker run -d \
  --name flowise \
  --restart unless-stopped \
  -p 3001:3000 \
  -v flowise_data:/home/node/.flowise \
  flowiseai/flowise:latest

In this case you would access it through:

http://localhost:3001

If Flowise is running on another computer on the network, it replaces localhost by its IP address. Before doing so, make sure that the firewall allows the connection and that the instance is properly secured.

How to stop, start and restart Flowise

How to stop, start and restart Flowise

If you have created a container called flowiseYou can manage it with these commands:

docker stop flowise
docker start flowise
docker restart flowise

To check if it is running:

docker ps

If the container does not appear, also show the detainees:

docker ps -a

The logs often reveal problems related to paths, ports, databases, or environment variables:

docker logs --tail=100 flowise

If you are using Docker Compose, use these commands from the folder where the corresponding file is located:

docker compose stop
docker compose start
docker compose restart
docker compose logs --tail=100

How to update Flowise without losing chatflows

Before any upgrade, perform a backup. Preserving the volume reduces the risk of loss, but A persistent volume does not replace a standalone copy.

If you use Docker Compose, the usual procedure is:

docker compose pull
docker compose up -d

Compose will download the specified image and recreate the services when necessary, maintaining the volumes defined in its configuration.

If you created the container manually, download the updated image:

docker pull flowiseai/flowise:latest

Then delete only the container, not the volume:

docker stop flowise
docker rm flowise

Finally, run the same command used to create it again:

docker run -d \
  --name flowise \
  --restart unless-stopped \
  -p 3000:3000 \
  -v flowise_data:/home/node/.flowise \
  flowiseai/flowise:latest

The data will remain available because it remains within flowise_dataEven so, check the release notes for each version in case there are any migrations, changes in variables, or incompatibilities.

In a production environment, it is preferable fix a specific version of the image and test it before updating, instead of permanently relying on the label latest.

How to apply changes made to the .env file

Restarting a container doesn't always apply new environment variables, as these are incorporated during its creation. If you use Docker Compose and have modified the file .env, run:

docker compose up -d --force-recreate

This recreates the containers with the new configuration without needing to delete their volumes.

Exclusive content - Click Here  How to fix the print queue when it's not printing anything

To review the variables that Compose has interpreted before applying the change, you can use:

docker compose config

Do not publicly share the full output if it contains passwords, secrets, or login information.

How to back up Flowise

If you have used a Docker volume called flowise_dataYou can create a compressed copy with:

docker run --rm \
  -v flowise_data:/data \
  -v "$PWD":/backup \
  alpine \
  tar czf /backup/flowise-backup.tar.gz -C /data .

On Windows, it may be more convenient to use Docker Desktop to inspect the volume or define a system folder as a mount. If you use a local directory, ensure that the user with UID 1000 used by the container has write permissions.

In PostgreSQL installations, you should also back up the database separately. Additionally, it's advisable to keep the key used to encrypt the credentials; a recovered database without its corresponding key may render the stored credentials unusable.

How to protect Flowise before publishing it on the Internet

How to protect Flowise before publishing it on the Internet

Directly publishing port 3000 of a VPS is not a suitable configuration for production. Flowise can store vendor credentials, database connections, and tools capable of executing external actions.

Before allowing access from the Internet, apply at least these measures:

  • Create an administrator account with a strong, unique password.
  • Configure session secrets, JWTs, and tokens correctly.
  • Place Flowise behind a reverse proxy such as Nginx, Caddy or Traefik.
  • Activate HTTPS with a valid certificate.
  • Do not expose APIs or chatflows without adequate protection.
  • Limit access through the firewall when it is only used internally.
  • Perform regular backups of your data and keys.
  • Update Flowise, Docker, and your operating system regularly.
  • Avoid storing secrets directly within shared nodes or templates.

You should also protect each chatflow you publish. The admin account restricts access to the dashboard, but a prediction API or an embedded chatbot might need it. your own key, usage limits, and access controls.

How to create your first chatbot in Flowise

Once logged in, you can create different types of flows. Chatflows They are designed to build conversational strings and applications. Agentflows They allow the design of more complex processes in which the model uses tools, makes decisions, and executes different steps.

To get started with a simple chatbot:

  1. Enter the section Chatflows.
  2. Press the button to create a new flow.
  3. Add a node corresponding to the chat provider or model.
  4. Create the necessary credentials to connect to their API.
  5. Add the required string, prompt, or components.
  6. Connect the nodes respecting their inputs and outputs.
  7. Save the flow and use the chat button to test it.

Flowise can work with external providers and compatible local model servers. In the latter case, remember that localhost within the container points to the container itself, not necessarily the host computer. In Docker Desktop, this is commonly used. host.docker.internal to reach a service running on the host computer.

How to add memory and instructions to the chatbot

The model needs clear instructions on its function, the tone to use, and the boundaries to respect. Depending on the selected workflow, these instructions can be provided via a prompt, a system message, or the agent's own settings.

Memory allows information from previous messages to be retained. However, it should not be confused with a knowledge base: memory stores the context of the conversation, while a RAG system... retrieves information from documents or external sources.

Exclusive content - Click Here  How to translate comics and manga into your language with AI while maintaining panels and speech bubbles (AI Manga Translator)

Excessively increasing the history can increase cost, latency, and memory consumption. It's best to choose the memory type and context length according to the chatbot's actual needs.

How to create a RAG chatbot with your documents

How to create a RAG chatbot with your documents

Flowise includes Document StoresAn interface that allows loading, splitting, preparing, and inserting documents into a vector database. This simplifies the construction of RAG applications.

A basic flow of this type incorporates:

  • A source of documents, such as PDF files, web pages, or text.
  • A divider that fragments the content into manageable blocks.
  • An embedding model that converts text into vectors.
  • A vector database where those fragments are stored.
  • A retrieval tool that locates information related to the question.
  • A language model that drafts the response using the retrieved context.

RAG can ensure that the responses are better substantiated and up-to-date with respect to the documents provided. However, It does not completely eliminate hallucinationsThe final quality depends on the original content, the division of the documents, the embeddings, the retrieval, and the instructions sent to the model.

Practical use cases of Flowise

One of the most common uses is to create a support assistant that answers questions about products, billing, returns or incidents using official company documentation.

It can also be used to develop a lead scoring system. The chatbot collects visitor information, determines their level of interest, and sends the data to an external CRM or automation system via an API.

Another example is an internal assistant that allows users to consult policies, technical procedures, or corporate documentation. In this scenario, appropriate permissions must be applied to prevent a user from retrieving information they shouldn't have access to.

Agentflows expand these possibilities by allowing the model to use tools. An agent can query a database, invoke an API, generate a structured response, or initiate another process. Precisely for this reason, Tools with the ability to perform actions must be limited and supervised..

Common mistakes when installing Flowise with Docker

Common mistakes when installing Flowise with Docker

Port 3000 is already occupied

If you receive an error indicating that the port cannot be bound, publish the container on another port:

-p 3001:3000

The flows disappear when the container is recreated.

This usually means that a persistent volume wasn't configured correctly. Check that you're using an allocation like:

-v flowise_data:/home/node/.flowise

Flowise cannot write to the mounted folder

The image executes the process with the user nodeIf you mount a host folder on Linux, it must allow writing to the user with UID 1000.

The container starts and stops continuously

Review the records:

docker logs flowise

The most common causes are empty or incorrect variables, paths without permissions, unconfigured secrets, database problems, or incompatibilities after an upgrade.

Flowise does not connect with any other service installed on the computer.

Inside the container, localhost This refers to the container itself. In Docker Desktop, try:

http://host.docker.internal:PUERTO

On Linux, it may be necessary to add a path to the host or use the address corresponding to the Docker interface.

Installing Flowise with Docker allows you to combine a accessible visual interface with a reproducible and self-managed environmentFor testing, a container and a persistent volume are sufficient, but a real-world implementation also needs authentication, HTTPS, backups, and controlled updates.

Once the environment is set up, you can start with a basic chatbot and gradually add memory, document stores, RAG retrieval, and external tools. This way, Flowise can grow from a small local prototype to an AI application integrated with other services.