Installation
Prerequisites
Ubuntu Prerequisites
bash
# Update system packages
sudo apt update && sudo apt upgrade -y
# Install required packages
sudo apt install -y curl wget git build-essential
# Install Node.js 18+ via NodeSource
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
# Verify installation
node --version
npm --version
# Install PM2 for process management
sudo npm install -g pm2
# Install Docker (optional)
sudo apt install -y docker.io docker-compose
sudo systemctl enable docker
sudo usermod -aG docker $USER
RHEL8 Prerequisites
bash
# Update system packages
sudo dnf update -y
# Install development tools
sudo dnf groupinstall -y "Development Tools"
sudo dnf install -y curl wget git
# Install Node.js 18+ via NodeSource
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo dnf install -y nodejs
# Verify installation
node --version
npm --version
# Install PM2 globally
sudo npm install -g pm2
# Install Docker (optional)
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo systemctl enable docker
sudo usermod -aG docker $USER
Installation Methods
Method 1: NPM Installation
Ubuntu Installation:
bash
# Create dedicated user
sudo useradd -m -s /bin/bash flowise
sudo su - flowise
# Install Flowise globally
npm install -g flowise
# Create application directory
mkdir -p ~/flowise-app
cd ~/flowise-app
# Initialize configuration
flowise start --FLOWISE_USERNAME=admin --FLOWISE_PASSWORD=admin123
RHEL8 Installation:
bash
# Create dedicated user
sudo useradd -m -s /bin/bash flowise
sudo su - flowise
# Install Flowise globally
npm install -g flowise
# Create application directory
mkdir -p ~/flowise-app
cd ~/flowise-app
# Set SELinux context (if enabled)
sudo setsebool -P httpd_can_network_connect 1
# Initialize configuration
flowise start --FLOWISE_USERNAME=admin --FLOWISE_PASSWORD=admin123
Method 2: Docker Installation
Ubuntu Docker Setup:
bash
# Create project directory
mkdir -p ~/flowise-docker
cd ~/flowise-docker
# Create docker-compose.yml
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
flowise:
image: flowiseai/flowise:latest
restart: always
environment:
- PORT=3000
- FLOWISE_USERNAME=admin
- FLOWISE_PASSWORD=admin123
- DATABASE_PATH=/root/.flowise
- APIKEY_PATH=/root/.flowise
- SECRETKEY_PATH=/root/.flowise
- LOG_LEVEL=info
- LOG_PATH=/root/.flowise/logs
ports:
- "3000:3000"
volumes:
- flowise_data:/root/.flowise
command: /bin/sh -c "sleep 3; flowise start"
volumes:
flowise_data:
EOF
# Start services
docker-compose up -d
# Check status
docker-compose ps
RHEL8 Docker Setup:
bash
# Create project directory
mkdir -p ~/flowise-docker
cd ~/flowise-docker
# Create docker-compose.yml (same as Ubuntu)
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
flowise:
image: flowiseai/flowise:latest
restart: always
environment:
- PORT=3000
- FLOWISE_USERNAME=admin
- FLOWISE_PASSWORD=admin123
- DATABASE_PATH=/root/.flowise
- APIKEY_PATH=/root/.floweise
- SECRETKEY_PATH=/root/.flowise
- LOG_LEVEL=info
- LOG_PATH=/root/.flowise/logs
ports:
- "3000:3000"
volumes:
- flowise_data:/root/.flowise
command: /bin/sh -c "sleep 3; flowise start"
volumes:
flowise_data:
EOF
# Configure firewall
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --reload
# Start services
docker-compose up -d
# Check status
docker-compose ps
Method 3: Source Installation
Ubuntu Source Build:
bash
# Clone repository
git clone https://github.com/FlowiseAI/Flowise.git
cd Flowise
# Install dependencies
npm install
# Build the project
npm run build
# Start development server
npm run dev
RHEL8 Source Build:
bash
# Clone repository
git clone https://github.com/FlowiseAI/Flowise.git
cd Flowise
# Install dependencies
npm install
# Build the project
npm run build
# Start development server
npm run dev
Post-Installation Verification
Ubuntu Verification:
bash
# Check service status
curl -I http://localhost:3000
# Check logs
tail -f ~/.flowise/logs/flowise.log
# Test API endpoint
curl -X GET "http://localhost:3000/api/v1/flows" \
-H "Authorization: Bearer YOUR_API_KEY"
RHEL8 Verification:
bash
# Check service status
curl -I http://localhost:3000
# Check firewall status
sudo firewall-cmd --list-ports
# Check logs
tail -f ~/.flowise/logs/flowise.log
# Test API endpoint
curl -X GET "http://localhost:3000/api/v1/flows" \
-H "Authorization: Bearer YOUR_API_KEY"