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
- Ön koşullar
- Adım 1 — Proje klasörünü ve ayarları oluşturun
- Adım 2 — Compose dosyasını yazın
- Adım 3 — Flowise'ı başlatın ve kontrol edin
- Adım 4 — Yönetici hesabını SSH tüneli üzerinden oluşturun
- Adım 5 — Flowise'ı Caddy ile yayınlayın ve Ollama'yı bağlayın
- Adım 6 — SQLite yerine PostgreSQL kullanın (isteğe bağlı)
- Yedekleme ve geri yükleme
- Güncellemeler ve Flowise geliştirmesinin sonu
- Sorun giderme
- EACCES: permission denied, mkdir '/home/node/.flowise'
- Konteyner yeniden oluşturulduktan sonra kayıtlı kimlik bilgileri çalışmıyor
- ChatOllama fetch failed veya ECONNREFUSED döndürüyor
- Bir araç veya yükleyici dahili bir adresi çekmeyi reddediyor
- Caddy 403 Forbidden döndürüyor
- 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
- Docker Engine ve Compose eklentisi kurulu, Ubuntu 24.04 LTS, Ubuntu 26.04 LTS, Debian 12 veya Debian 13 çalıştıran bir sunucu; bkz. Ubuntu'ya Docker kurulumu veya Debian'a Docker kurulumu.
sudoyetkisi ve SSH anahtarıyla girişi olan, root olmayan bir kullanıcı; bkz. Yeni bir Linux sunucusunu güvenli hale getirin ve SSH anahtarlarını ayarlayın.- Sunucuyu gösteren bir A (isteğe bağlı olarak AAAA) kaydına sahip
flowise.example.comgibi bir alan adı ve Caddy reverse proxy rehberindeki Caddy kurulumu. - Bir model sağlayıcısı için API anahtarı veya Ollama kurulumu ile kurulmuş Ollama.
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:
| Kaynak | En düşük (resmi) | Önerilen başlangıç |
|---|---|---|
| CPU | Yayınlanmamış | 2 vCPU |
| RAM | Yayınlanmamış | 4 GB |
| Disk | Yayı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:
sudo mkdir -p /opt/flowise/data
sudo chown -R $USER:$USER /opt/flowise
cd /opt/flowiseFlowise 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.
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 dataDö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:
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
docker compose up -d
docker compose ps
curl -f http://127.0.0.1:3000/api/v1/pingYaklaşı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:
ssh -L 3000:127.0.0.1:3000 youruser@203.0.113.10Tarayı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:
flowise.example.com {
@outside not remote_ip 198.51.100.24
respond @outside 403
reverse_proxy 127.0.0.1:3000
}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:
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 tcp172.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:
cat >> .env <<EOF
DATABASE_TYPE=postgres
DATABASE_HOST=postgres
DATABASE_PORT=5432
DATABASE_NAME=flowise
DATABASE_USER=flowise
DATABASE_PASSWORD=$(openssl rand -hex 24)
EOFArdı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:
postgres:
image: postgres:16
restart: unless-stopped
environment:
POSTGRES_USER: flowise
POSTGRES_PASSWORD: ${DATABASE_PASSWORD}
POSTGRES_DB: flowise
volumes:
- ./postgres:/var/lib/postgresql/datadocker 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:
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 startPostgreSQL kullanıyorsanız Flowise veritabanı sayfasında anlatılan yöntemle mantıksal bir döküm de alın:
docker compose exec -T postgres pg_dump -U flowise flowise | gzip | sudo tee /opt/backups/flowise-db-$(date +%F).sql.gz > /dev/nullGeri 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
- Yeni projeleri bakımı süren bir araç üzerine kurun: Langflow kurulumu veya Dify kurulumu.
- Yerel modelleri Ollama kurulumu ile çalıştırın.
- Çevrimiçi kaldığı sürece düğüm başvurusu ve API kullanımı için Flowise belgelerini okuyun.
- Sunucu seçeneklerini Flowise hosting sayfasında inceleyin.
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
- docs.flowiseai.com/getting-started
- docs.flowiseai.com/configuration/authorization/app-level
- docs.flowiseai.com/configuration/databases
- docs.flowiseai.com/configuration/environment-variables
- github.com/FlowiseAI/Flowise
- github.com/FlowiseAI/Flowise/discussions/6727
- github.com/FlowiseAI/Flowise/releases/tag/flowise%403.1.0
- github.com/FlowiseAI/Flowise/blob/main/docker/docker-compose.yml
- github.com/FlowiseAI/Flowise/blob/main/docker/.env.example
- github.com/FlowiseAI/Flowise/blob/main/Dockerfile
- hub.docker.com/r/flowiseai/flowise/tags
- docs.ollama.com/faq