İçeriğe geç

EğitimlerYapay zeka ve LLM

Flowise Docker Compose ve HTTPS ile nasıl kurulur

Flowise 3'ü Ubuntu veya Debian'da Docker Compose ile çalıştırın, veriyi ve şifreleme anahtarını volume'da tutun, Caddy ile HTTPS ekleyin; proje arşivlendi.

  • Orta
  • 30 dk okuma
  • Güncellendi

Denendiği sistemler: Ubuntu 24.04 LTS, Ubuntu 26.04 LTS, Debian 12, Debian 13

Bu sayfada
  1. Ön koşullar
  2. Adım 1 — Proje klasörünü ve ayarları oluşturun
  3. Adım 2 — Compose dosyasını yazın
  4. Adım 3 — Flowise'ı başlatın ve kontrol edin
  5. Adım 4 — Yönetici hesabını SSH tüneli üzerinden oluşturun
  6. Adım 5 — Flowise'ı Caddy ile yayınlayın ve Ollama'yı bağlayın
  7. Adım 6 — SQLite yerine PostgreSQL kullanın (isteğe bağlı)
  8. Yedekleme ve geri yükleme
  9. Güncellemeler ve Flowise geliştirmesinin sonu
  10. Sorun giderme
  11. EACCES: permission denied, mkdir '/home/node/.flowise'
  12. Konteyner yeniden oluşturulduktan sonra kayıtlı kimlik bilgileri çalışmıyor
  13. ChatOllama fetch failed veya ECONNREFUSED döndürüyor
  14. Bir araç veya yükleyici dahili bir adresi çekmeyi reddediyor
  15. Caddy 403 Forbidden döndürüyor
  16. Sonraki adımlar

Flowise, LLM uygulamaları ve ajanlar geliştirmek için az kodlu (low-code) bir araçtır: bir tuval üzerinde modeller, istemler (prompt), belge yükleyiciler, vektör depoları ve araçlar için düğümleri birbirine bağlar, sonucu bir API veya sayfaya gömülebilir bir sohbet penceresi üzerinden çağırırsınız. Açık kaynaklıdır.

Bu rehber resmi flowiseai/flowise imajını son sürüme sabitleyerek Docker Compose ile çalıştırır. Veritabanını, kimlik bilgisi şifreleme anahtarını ve yüklemeleri ana makinede tutar, kendi belirteç gizli değerlerinizi ayarlar, yönetici hesabını bir SSH tüneli üzerinden oluşturur, Flowise'ı Caddy ile HTTPS üzerinden yayınlar ve yerel bir Ollama sunucusuna bağlarsınız. Rehber yedekleme ve arşivlenmiş bir projeyi güncellemenin sınırlarıyla biter.

Ön koşullar

Proje en düşük donanım gereksinimlerini yayınlamaz. Aşağıdaki değerler resmi veya ölçülmüş rakamlar değil, ihtiyatlı bir başlangıç noktasıdır:

KaynakEn düşük (resmi)Önerilen başlangıç
CPUYayınlanmamış2 vCPU
RAMYayınlanmamış4 GB
DiskYayınlanmamış20 GB

Adım 1 — Proje klasörünü ve ayarları oluşturun

Flowise'ın yazdığı her şey için bir data klasörüyle birlikte /opt/flowise dizinini oluşturun:

Bash
sudo mkdir -p /opt/flowise/data
sudo chown -R $USER:$USER /opt/flowise
cd /opt/flowise

Flowise yapılandırmasını ortam değişkenlerinden okur. Bunları, oturum belirteçleri için rastgele gizli değerler dahil, .env dosyasına yazın. Belgeler, JWT ve oturum gizli değerleri ayarlanmadığında varsayılan değerlere dönüldüğünü ve bunun sahte belirteç üretmeyi kolaylaştırdığını belirtir.

Bash
cat > .env <<EOF
PORT=3000
APP_URL=https://flowise.example.com
DATABASE_PATH=/home/node/.flowise
SECRETKEY_PATH=/home/node/.flowise
LOG_PATH=/home/node/.flowise/logs
BLOB_STORAGE_PATH=/home/node/.flowise/storage
JWT_AUTH_TOKEN_SECRET=$(openssl rand -hex 32)
JWT_REFRESH_TOKEN_SECRET=$(openssl rand -hex 32)
EXPRESS_SESSION_SECRET=$(openssl rand -hex 32)
TOKEN_HASH_SECRET=$(openssl rand -hex 32)
TRUST_PROXY=true
NUMBER_OF_PROXIES=1
DISABLE_FLOWISE_TELEMETRY=true
EOF
chmod 600 .env
sudo chown -R 1000:1000 data

Dört yol değişkeni önemlidir. Flowise, kimlik bilgisi olarak kaydettiğiniz API anahtarlarını bir anahtar dosyasıyla şifreler. Bu dosyanın belgelenmiş varsayılan konumu uygulama dizininin içindedir; bu dizin konteynerde durur ve konteyner yeniden oluşturulduğunda kaybolur. SECRETKEY_PATH ayarı anahtarı volume'unuzda tutar. DATABASE_PATH, LOG_PATH ve BLOB_STORAGE_PATH aynı işi SQLite veritabanı, loglar ve yüklenen dosyalar için yapar. TRUST_PROXY ve NUMBER_OF_PROXIES=1, Flowise'a önünde bir reverse proxy (Caddy) bulunduğunu söyler.

İmaj, ev dizini /home/node olan root olmayan node kullanıcısıyla (UID 1000) çalışır; bu yüzden data klasörü UID 1000'e ait olmalıdır.

Adım 2 — Compose dosyasını yazın

/opt/flowise/compose.yaml dosyasını oluşturun. Dosya, depodaki docker/docker-compose.yml dosyasını izler; ancak son sürümü sabitler, tüm değişkenleri .env dosyasından okur ve portu yalnızca localhost'ta yayınlar:

YAML
services:
  flowise:
    image: flowiseai/flowise:3.1.4
    container_name: flowise
    restart: unless-stopped
    env_file: .env
    ports:
      - "127.0.0.1:3000:3000"
    extra_hosts:
      - "host.docker.internal:host-gateway"
    volumes:
      - ./data:/home/node/.flowise
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000/api/v1/ping"]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 30s
    entrypoint: /bin/sh -c "sleep 3; flowise start"

127.0.0.1 adresine bağlamak önemlidir; çünkü Docker'ın yayınladığı portlar ufw'yi atlar. extra_hosts satırı, konteynerin Adım 5'te ana makinedeki Ollama'ya ulaşmasını sağlar.

Adım 3 — Flowise'ı başlatın ve kontrol edin

Bash
docker compose up -d
docker compose ps
curl -f http://127.0.0.1:3000/api/v1/ping

Yaklaşık yarım dakika sonra docker compose ps konteyneri healthy olarak göstermeli, ping uç noktası da hatasız yanıt vermelidir. Konteyner yeniden başlıyorsa docker compose logs --tail 50 flowise çıktısını okuyun; /home/node/.flowise üzerindeki bir izin hatası sahiplik adımının atlandığını gösterir.

Adım 4 — Yönetici hesabını SSH tüneli üzerinden oluşturun

İlk ziyarette Flowise sizden ad, e-posta adresi ve parolayla bir hesap oluşturmanızı ister; bu hesap kurulumun sahibi olur. Başka birinin bu hesabı sahiplenememesi için bunu site herkese açılmadan önce yapın. Kendi bilgisayarınızda bir tünel açın:

Bash
ssh -L 3000:127.0.0.1:3000 youruser@203.0.113.10

Tarayıcıda http://localhost:3000 adresine gidin, uzun ve benzersiz bir parolayla hesabı oluşturun ve giriş yapın. Flowise parolaları bcrypt özetleri olarak saklar ve oturumları Adım 1'deki gizli değerlerle imzalanmış HTTP-only çerezlerde tutar. Parola sıfırlama e-postaları için .env içinde SMTP ayarları (SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORD, SMTP_SECURE, SENDER_EMAIL) gerekir, örneğin 587 numaralı portta smtp.example.com; bunlar yoksa parolayı bir parola yöneticisinde saklayın.

Adım 5 — Flowise'ı Caddy ile yayınlayın ve Ollama'yı bağlayın

/etc/caddy/Caddyfile dosyasına bir site bloğu ekleyin. Proje artık güvenlik düzeltmesi almadığı için örnek yalnızca kendi IP adresinizi kabul eder; 198.51.100.24 değerini kendi adresinizle değiştirin veya uygulamanın herkese açık olması gerekiyorsa iki eşleştirici satırını kaldırın:

Caddyfile
flowise.example.com {
    @outside not remote_ip 198.51.100.24
    respond @outside 403
    reverse_proxy 127.0.0.1:3000
}
Bash
sudo systemctl reload caddy
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
curl -I https://flowise.example.com

İzin verilen bir adresten HTTP/2 200, diğer her yerden 403 görmelisiniz. Caddy WebSocket ve akış halindeki yanıtları ek ayar gerektirmeden iletir. Nginx (rehber) veya Traefik de kullanılabilir.

Aynı sunucudaki Ollama'yı kullanmak için Ollama'nın 127.0.0.1 dışında da dinlemesi ve ufw'nin Flowise ağını kabul etmesi gerekir. Ollama SSS sayfasında anlatıldığı gibi OLLAMA_HOST değerini bir systemd drop-in dosyasıyla ayarlayın, ardından Compose alt ağına izin verin:

Bash
sudo mkdir -p /etc/systemd/system/ollama.service.d
sudo tee /etc/systemd/system/ollama.service.d/override.conf <<'EOF'
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
EOF
sudo systemctl daemon-reload
sudo systemctl restart ollama
docker network inspect flowise_default | grep Subnet
sudo ufw allow from 172.18.0.0/16 to any port 11434 proto tcp

172.18.0.0/16 yerine inspect komutunun yazdığı alt ağı kullanın. Bu kural Ollama'yı yalnızca ufw varsayılan reddetme politikasıyla etkinken korur; sudo ufw status verbose çıktısında Status: active ve deny (incoming) göründüğünü ve başka bir makineden nc -vz sunucu-ip-adresiniz 11434 komutunun başarısız olduğunu doğrulayın. Ollama'nın kimlik doğrulaması olmadığı için 11434 numaralı portu asla herkese açmayın. Bir akışa ChatOllama düğümünü ekleyin, temel adresini http://host.docker.internal:11434 yapın ve ollama list çıktısındaki bir model adını girin. Büyük modeller bir GPU sunucusunda çok daha hızlı çalışır.

Adım 6 — SQLite yerine PostgreSQL kullanın (isteğe bağlı)

Tek kişi için SQLite yeterlidir. Birden çok kullanıcı veya çok sayıda çalıştırma için Flowise'ın MySQL ve MariaDB'nin yanında desteklediği PostgreSQL'e geçebilirsiniz. Veritabanını değiştirmek mevcut akışları kopyalamadığı için bunu yeni bir kurulumda yapın. Bağlantı ayarlarını .env dosyasına ekleyin:

Bash
cat >> .env <<EOF
DATABASE_TYPE=postgres
DATABASE_HOST=postgres
DATABASE_PORT=5432
DATABASE_NAME=flowise
DATABASE_USER=flowise
DATABASE_PASSWORD=$(openssl rand -hex 24)
EOF

Ardından compose.yaml dosyasının sonuna, services: altında girintili olarak bir veritabanı servisi ekleyin ve flowise servisine depends_on: [postgres] satırını ekleyin:

YAML
  postgres:
    image: postgres:16
    restart: unless-stopped
    environment:
      POSTGRES_USER: flowise
      POSTGRES_PASSWORD: ${DATABASE_PASSWORD}
      POSTGRES_DB: flowise
    volumes:
      - ./postgres:/var/lib/postgresql/data

docker compose up -d çalıştırın ve başarılı bir veritabanı bağlantısı için docker compose logs flowise çıktısını kontrol edin. PostgreSQL servisi hiçbir port yayınlamaz; yalnızca Compose ağından erişilebilir.

Yedekleme ve geri yükleme

Flowise'ın ihtiyaç duyduğu her şey /opt/flowise içindedir: data (veritabanı, şifreleme anahtarı, yüklemeler, loglar), belirteç gizli değerlerini içeren .env, compose.yaml ve kullanıyorsanız postgres klasörü. Belgeler yedeklemeden önce Flowise'ın kapatılmasını önerir:

Bash
sudo mkdir -p /opt/backups
cd /opt/flowise
docker compose stop
sudo tar czf /opt/backups/flowise-$(date +%F).tar.gz -C /opt flowise
docker compose start

PostgreSQL kullanıyorsanız Flowise veritabanı sayfasında anlatılan yöntemle mantıksal bir döküm de alın:

Bash
docker compose exec -T postgres pg_dump -U flowise flowise | gzip | sudo tee /opt/backups/flowise-db-$(date +%F).sql.gz > /dev/null

Geri yüklemek için arşivi Docker kurulu bir sunucuda /opt altına açın ve /opt/flowise içinde docker compose up -d çalıştırın. Ara sıra bir geri yükleme testi yapın, kopyaları sunucunun dışında tutun ve arşivin kayıtlı tüm kimlik bilgilerini çözen anahtarı içerdiğini unutmayın.

Güncellemeler ve Flowise geliştirmesinin sonu

3.1.4'ten sonra Flowise sürümü çıkmayacak; bu yüzden docker compose pull yeni sürüm getirmez. Yine de yapabilecekleriniz:

  • İşletim sistemini, Docker'ı ve Caddy'yi güncel tutun ve erişimi Adım 5'teki gibi kısıtlı tutun.
  • Fork'larla ilgili haberler için Flowise deposunu ve "Future of Flowise" tartışmasını izleyin; kimlik bilgilerinizi emanet etmeden önce her fork'u dikkatle değerlendirin.
  • Güvendiğiniz akışları Flowise arayüzünden dışa aktarın; böylece onları başka bir araçta yeniden kurabilirsiniz.

Geçiş yaparken son bir yedek alın, ardından yığını docker compose down ile durdurun ve /opt/flowise dizinini yalnızca yeni sistem çalıştıktan sonra silin.

Sorun giderme

EACCES: permission denied, mkdir '/home/node/.flowise'

Konteyner UID 1000 ile çalışır ve bağlanan klasöre yazamıyor. sudo chown -R 1000:1000 /opt/flowise/data ve docker compose up -d çalıştırın.

Konteyner yeniden oluşturulduktan sonra kayıtlı kimlik bilgileri çalışmıyor

Şifreleme anahtarı volume yerine konteynerin içinde saklanmış, Flowise de yeni bir anahtar üretmiş. Adım 1'deki gibi SECRETKEY_PATH=/home/node/.flowise ayarlayın. Kaybolan bir anahtarla şifrelenmiş kimlik bilgilerinin yeniden girilmesi gerekir.

ChatOllama fetch failed veya ECONNREFUSED döndürüyor

Ollama hâlâ 127.0.0.1 üzerinde dinliyor ya da ufw Docker alt ağını engelliyor. ss -tln | grep 11434 çalıştırın, alt ağı sudo ufw status ile karşılaştırın ve düğümün http://host.docker.internal:11434 adresini kullandığından emin olun.

Bir araç veya yükleyici dahili bir adresi çekmeyi reddediyor

Bu, 3.1.0 ile gelen HTTP güvenlik kontrolüdür. Kontrolü genel olarak kapatmak yerine kaynağı herkese açık bir adresten sunun veya akışın dahili sistemlere gerçekten erişmesi gerekip gerekmediğini yeniden düşünün.

Caddy 403 Forbidden döndürüyor

Mevcut IP adresiniz remote_ip satırındaki adresle aynı değil. Adresi güncelleyin (ev bağlantılarının adresi sık değişir) ve Caddy'yi yeniden yükleyin.

Sonraki adımlar

Sık sorulan sorular

Flowise hâlâ geliştiriliyor mu?

Hayır. Flowise ekibi kodu 29 Temmuz 2026'da dondurdu ve GitHub deposunu 13 Ağustos 2026'da arşivledi; 3.1.4 son sürümdür. Kod ve Docker imajları erişilebilir kalır, ancak düzeltme planlanmıyor; kurulumları gizli tutun ve bakımı süren bir araca geçişi planlayın.

FLOWISE_USERNAME ve FLOWISE_PASSWORD hâlâ çalışıyor mu?

Flowise belgeleri kullanıcı adı ve parola değişkenlerini kullanımdan kaldırılmış (deprecated) olarak işaretler. Flowise 3, veritabanında saklanan ve .env içinde belirlediğiniz JWT gizli değerleriyle imzalanan e-posta ve parola hesapları kullanır; ilk hesabı tarayıcıda oluşturursunuz.

Bu kurulumda Flowise verilerini nerede saklar?

Ana makinede /home/node/.flowise konumuna bağlanan /opt/flowise/data klasöründe: SQLite veritabanı, kayıtlı kimlik bilgilerinin şifreleme anahtarı, yüklenen dosyalar ve loglar. Bu klasörü .env ile birlikte yedekleyin.

SQLite yerine PostgreSQL kullanabilir miyim?

Evet. Flowise SQLite, MySQL, MariaDB ve PostgreSQL'i destekler. İlk başlatmadan önce DATABASE_TYPE=postgres ve bağlantı değişkenlerini ayarlayın; sonradan geçiş mevcut akışları kendiliğinden taşımaz.

Kaynaklar

Şifre Oluştur

Lütfen onaylayın