How to Self-Host Flowise AI on Zo Computer

Flowise is a visual builder for LLM apps—chatbots, RAG, “agent” style workflows—without having to wire everything together from scratch. The easiest way to run it reliably (and keep your data) is Docker + a persistent volume.

This tutorial shows a pragmatic “works on day 1” setup on Zo Computer: bring it up, keep it running across restarts, and lock it down enough that you’re not leaving an open admin UI lying around.

Prerequisites

  • A Zo Computer (any plan where you can run Docker workloads).

  • Docker installed and working.

  • A place to store persistent app data (we’ll use a Docker volume).

If you don’t already have Docker set up on your Zo, start with Zo’s Sites/Services docs. ^1

Step 1: Create a Flowise project folder

Pick a folder you’ll remember. I’m using Projects/flowise.

mkdir -p ~/Projects/flowise
cd ~/Projects/flowise

Step 2: Create a Docker Compose file

Flowise’s official Docker Compose template is heavily parameterized. We’ll use the same image, but keep the config minimal while still:

  • exposing port 3000

  • persisting data

  • enabling basic app-level protection

Create docker-compose.yml:

services:
  flowise:
    image: flowiseai/flowise:latest
    restart: unless-stopped
    environment:
      - PORT=3000
      # Basic protection for the UI (works with Flowise’s app-level auth setup)
      - FLOWISE_USERNAME=admin
      - FLOWISE_PASSWORD=change-me
      # Persist Flowise state (SQLite DB, uploaded files, etc.)
      - DATABASE_PATH=/root/.flowise
      - BLOB_STORAGE_PATH=/root/.flowise/storage
      - LOG_PATH=/root/.flowise/logs
      - SECRETKEY_PATH=/root/.flowise
    ports:
      - "3000:3000"
    volumes:
      - flowise_data:/root/.flowise

volumes:
  flowise_data:

Notes:

  • This is a simplified version of Flowise’s official Docker Compose setup. ^4

  • Flowise documents both a quick-start (npm) path and Docker paths; Docker is generally simpler to keep always-on. ^2

  • For production deployments, Flowise also has a newer email/password auth system and additional security-related environment variables (JWT secrets, cookie settings, etc.). ^3

Step 3: Start Flowise

docker compose up -d

Verify it’s healthy:

docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'

You should see the container exposing 0.0.0.0:3000->3000/tcp.

Step 4: Open Flowise in your browser

On Zo, you typically open services from within Zo’s browser environment.

Open:

  • http://localhost:3000

Flowise’s docs describe the default UI being available on port 3000 after starting. ^2

If you enabled FLOWISE_USERNAME / FLOWISE_PASSWORD, you’ll be prompted for credentials.

Step 5: Sanity-check with a tiny workflow

A fast way to prove everything works:

  1. Create a new chatflow.

  2. Add a chat model node (OpenAI / Anthropic / Ollama, etc.).

  3. Connect it to a chat output node.

  4. Click “Test” and send a prompt.

If you want a fully self-hosted stack, pair Flowise with a local LLM running on your Zo (for example via Ollama) and point Flowise at it.

Step 6: Upgrades and maintenance

To update Flowise to the latest image:

docker compose pull
docker compose up -d

If something looks off after an update, restart cleanly:

docker compose down
docker compose up -d

Because we mounted a persistent volume (flowise_data), your flows and settings survive container restarts.

Step 7: Basic hardening (worth doing)

  • Change the default password.

  • Keep it private unless you know what you’re doing. If you later publish it to the internet, add real auth and treat it like any other web app.

  • If you deploy behind a reverse proxy, review Flowise’s auth docs (JWT settings, cookie security flags, APP_URL, etc.). ^3

Summary

You now have Flowise running on your Zo as a persistent, restart-safe service:

  • managed via Docker Compose

  • accessible at http://localhost:3000

  • with data persisted in a Docker volume

From here, the practical next step is connecting it to your preferred model provider (hosted API or local LLM) and building one reusable “agent workflow” you actually use.