KurulumCoolify

Coolify ile kurulum

Bekci'yi Coolify v4'te Docker imajı olarak ekleyin; alan adı, HTTPS sertifikası ve güncellemeleri Coolify yönetsin.

Bu sayfada

Sunucunuzda Coolify kuruluysa Bekci'yi bir Docker Image kaynağı olarak eklemek en kolay yoldur. Alan adını, HTTPS sertifikasını ve yönlendirmeyi Coolify'ın kendi vekili (Traefik) yapar. Toplam süre: yaklaşık 5 dakika.

Başlamadan önce#

  • Coolify'da bir proje ve bir sunucu (destination) hazır olmalı.
  • Bekci için kullanacağınız alan adının (ör. bekci.ornek.com) A kaydı Coolify sunucusunun IP adresini göstermeli (DNS kaydı nasıl eklenir?).

1. Yeni kaynak oluşturun#

  1. Coolify'da projenizi ve ortamı (ör. production) açın.
  2. New resource düğmesine basın (bazı sürümlerde + New ya da + Add Resource).
  3. Listeden Docker Image seçeneğini seçin.
  4. İmajı girin: Image name alanına kadirsungurlu/bekci, Tag alanına latest yazın. (Tek alan varsa: kadirsungurlu/bekci:latest.) Belirli bir sürüme sabitlemek için latest yerine 1.0.0 yazın (sürüm etiketleri).
  5. Sorulursa sunucuyu seçin ve Create application (ya da Save) ile kaydedin.

2. Portu ayarlayın#

General bölümünde Ports Exposes alanına 8080 yazın (başka bir değer varsa silin). Bekci konteynerin içinde 8080 portunu dinler; Coolify'ın vekili trafiği bu porta yönlendirir. Port mappings alanını boş bırakın.

3. Alan adını ekleyin#

Alan adınızı https:// ile birlikte girin: https://bekci.ornek.com

  • Yeni Coolify sürümlerinde bu iş ayrı bir Domains sayfasında yapılır (Add domain düğmesi).
  • Eski sürümlerde General bölümündeki Domains alanına yazılır.

https:// ile yazdığınızda Coolify, Let's Encrypt sertifikasını kendisi alır.

4. Kalıcı depolamayı ekleyin#

  1. Persistent Storage bölümünü açın.
  2. Yeni bir volume ekleyin (Add volume mount; eski sürümlerde + Add → Volume).
  3. Name: bekci-data (istediğiniz bir ad), Destination Path: /data.
  4. Kaydedin.

Birim yerine sunucudaki bir klasörü bağlamak isterseniz (directory mount), o klasörün sahibi uid 1000 olmalıdır: chown 1000:1000 /klasör/yolu. Bekci root olmayan bir kullanıcıyla çalışır ve başka bir sahibin klasörüne yazamaz.

5. Ortam değişkenlerini ekleyin#

Environment Variables bölümünde şu değişkenleri ekleyin:

Environment Variables
BASE_URL=https://bekci.ornek.com
TZ=Europe/Istanbul

BASE_URL, 3. adımdaki alan adıyla aynı olmalı: bildirimlerdeki bağlantılar ve sunucu ajanı kurulum komutları bu adresi kullanır. Diğer seçenekler: Ortam değişkenleri.

6. Sağlık kontrolüne dokunmayın#

Healthcheck bölümündeki Coolify sağlık kontrolünü kapalı (varsayılan) bırakın. Bekci imajının kendi sağlık kontrolü vardır ve güncellemelerde doğru çalışacak şekilde tasarlanmıştır.

7. Dağıtın#

Sağ üstteki Deploy düğmesine basın. Coolify imajı indirir ve konteyneri başlatır.

PostgreSQL ile#

Varsayılan SQLite çoğu kurulum için yeterlidir (hangi veritabanı?). PostgreSQL istiyorsanız iki yol var:

Gömülü PostgreSQL

En kolayı: 1. adımda etiketi latest yerine postgres yazın (sabit sürüm için 1.0.0-postgres). PostgreSQL 18 aynı konteynerin içinde çalışır; veritabanı yine /data biriminde durur ve gece yedekleri /data/backups altına alınır. Diğer adımlar aynıdır. Yaklaşık 200 MB ek bellek kullanır.

Coolify'daki PostgreSQL

  1. Aynı projede New resource → PostgreSQL ile bir veritabanı oluşturun ve başlatın.

  2. Veritabanının sayfasında iç bağlantı adresini kopyalayın (Postgres URL (internal) gibi bir adla gösterilir). Adres postgres://kullanıcı:parola@…:5432/… biçimindedir.

  3. Bekci uygulamasının Environment Variables bölümüne ekleyin:

    Environment Variables
    DATABASE_URL=kopyaladığınız-iç-adres

    Değer postgres://postgres:…@…:5432/postgres gibi görünür.

  4. Etiketi latest (SQLite imajı) olarak bırakın; DATABASE_URL verildiğinde bu imaj PostgreSQL'e bağlanır. Deploy ile yeniden dağıtın.

Bekci ile veritabanı aynı Coolify sunucusunda olmalıdır (iç adres yalnızca orada çalışır). Bu durumda Bekci gece yedeğini almaz; yedeği veritabanının sayfasındaki Backups bölümünden zamanlayın.

Güncelleme#

  • latest etiketiyle: Uygulamanın sayfasında Redeploy (ya da Deploy) düğmesine basın; Coolify imajın yenisini indirip konteyneri değiştirir.
  • Sabit sürümle (ör. 1.0.0): Etiketi yeni sürümle değiştirip dağıtın.

Güncelleme sırasında yeni konteynerin günlüğünde bir süre şu satırı görmeniz normaldir; eski konteyner kapanınca yenisi bir iki saniye içinde devralır. Bu sayede iki kopya aynı anda kontrol yapıp çift bildirim göndermez:

level=WARN msg="veri klasörü başka bir örnekte açık; o kapanana kadar bekleniyor" kilit=/data/uptime.db.lock en_fazla=10m0s

Güncellemeden önce yedek almayı unutmayın: Güncelleme, yedek ve geri dönüş.

Sık karşılaşılan sorunlar#

Sayfa “no available server” ya da 404 veriyor#

Coolify'ın vekili Bekci'ye ulaşamıyor. Ports Exposes değerinin 8080 olduğunu ve alan adının https:// ile yazıldığını kontrol edin, sonra yeniden dağıtın.

Her dağıtımdan sonra kurulum ekranı geliyor#

Kalıcı depolama eksik ya da hedef yolu yanlış. Persistent Storage bölümünde hedefin tam olarak /data olduğundan emin olun (4. adım).

Güncelleme “unhealthy” hatasıyla geri alınıyor#

Coolify'ın sağlık kontrolü açıktır; 6. adımdaki gibi kapatıp yeniden dağıtın.

Konteyner “permission denied” ile kapanıyor#

Günlükte şuna benzer bir satır görürsünüz:

hata: veritabanı açılamadı: kilit dosyası açılamadı: open /data/uptime.db.lock: permission denied

Sunucudaki bir klasörü bağladıysanız sahibi uid 1000 değildir: chown -R 1000:1000 /klasör/yolu ile düzeltip yeniden dağıtın.