# 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.

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

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.

> **Uyarı**
>
> Flowise artık geliştirilmiyor. Proje sahipleri 29 Temmuz 2026'da kod dondurma ilan etti ve GitHub deposunu 13 Ağustos 2026'da arşivledi; 3.1.4 son sürümdür ve GitHub ile Discord'daki resmi destek 31 Ağustos 2026'da sona erdi. Kod ve Docker imajları erişilebilir kalır, ancak bundan sonra bulunan güvenlik sorunları kaynakta düzeltilmeyecek. Bu rehberi mevcut akışları çalıştırmak veya değerlendirmek için kullanın, kurulumu gizli tutun ve yeni projeler için [Langflow](/guides/install-langflow) veya [Dify](/guides/install-dify) seçeneklerini değerlendirin.

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](/guides/install-docker-ubuntu) veya [Debian'a Docker kurulumu](/guides/install-docker-debian).
- `sudo` yetkisi ve SSH anahtarıyla girişi olan, root olmayan bir kullanıcı; bkz. [Yeni bir Linux sunucusunu güvenli hale getirin](/guides/secure-a-new-linux-server) ve [SSH anahtarlarını ayarlayın](/guides/ssh-keys).
- Sunucuyu gösteren bir A (isteğe bağlı olarak AAAA) kaydına sahip `flowise.example.com` gibi bir alan adı ve [Caddy reverse proxy](/guides/caddy-reverse-proxy) rehberindeki Caddy kurulumu.
- Bir model sağlayıcısı için API anahtarı veya [Ollama kurulumu](/guides/install-ollama) 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:

```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.

> **Not**
>
> HyperDC VPS'lerde giden 25 numaralı port varsayılan olarak kapalıdır. 3 ay veya daha uzun süreyle satın alınan hizmetlerde talep üzerine açılır: [destek talebi açın](/guides/support-tickets). O zamana kadar e-postaları 587 numaralı port üzerinden bir SMTP relay ile gönderin.

## 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](/guides/nginx-reverse-proxy-certbot)) veya [Traefik](/guides/traefik-reverse-proxy) 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](/gpu-servers) çok daha hızlı çalışır.

> **Not**
>
> Flowise 3.1.0'dan beri bir HTTP güvenlik kontrolü varsayılan olarak açıktır ve `localhost` ile `127.0.0.1` gibi dahili veya güvensiz adreslere giden istekleri engeller. Bu kontrolü açık bırakın (`HTTP_SECURITY_CHECK=true`). Kapatmak, herhangi bir akış yazarının sunucuya dahili servisleri çağırtabilmesi anlamına gelir.

## 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](https://github.com/FlowiseAI/Flowise) 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](/guides/install-langflow) veya [Dify kurulumu](/guides/install-dify).
- Yerel modelleri [Ollama kurulumu](/guides/install-ollama) ile çalıştırın.
- Çevrimiçi kaldığı sürece düğüm başvurusu ve API kullanımı için [Flowise belgelerini](https://docs.flowiseai.com/) okuyun.
- Sunucu seçeneklerini [Flowise hosting](/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.

---

Kaynak: <https://hyperdc.com/tr/guides/tutorials/install-flowise>\
Son güncelleme: 2026-10-09
