Ana içeriğe geç
Kategoriye Dön

Coolify Kurulumu: Self-Hosted PaaS ile Uygulama Deployment

Coolify kurulumu, Docker ve Git entegrasyonu, uygulama deployment, veritabanı yönetimi, SSL sertifikaları, environment variables ve Heroku/Netlify alternatifi self-hosted PaaS.

Okuma süresi: 15 dk Self-Hosting
coolifypaasself-hostingdeploymentdockergitssl

İçindekiler

Coolify Kurulumu: Self-Hosted PaaS ile Uygulama Deployment

Coolify, Heroku, Netlify ve Vercel gibi bulut platformlarına açık kaynaklı, self-hosted bir alternatiftir. Kendi sunucunuzda çalışan Coolify ile uygulamalarınızı, veritabanlarınızı ve servislerinizi kolayca yönetebilirsiniz. Docker tabanlı bu platform, Git entegrasyonu sayesinde kod push ettiğinizde otomatik deployment yapabilir.

Coolify Nedir?

Coolify, tek bir arayüzden birden fazla sunucu ve uygulamayı yönetmenizi sağlayan modern bir PaaS çözümüdür. Öne çıkan özellikleri:

  • Otomatik SSL: Let's Encrypt ile ücretsiz SSL sertifikası
  • Git Entegrasyonu: GitHub, GitLab, Bitbucket desteği
  • Çoklu Sunucu: Tek panelden birden fazla sunucu yönetimi
  • Veritabanı Servisleri: PostgreSQL, MySQL, Redis, MongoDB
  • Docker Compose: Mevcut compose dosyalarını doğrudan deploy etme
  • Webhook: Otomatik deployment tetikleyicileri

Sistem Gereksinimleri

  • Ubuntu 20.04/22.04 veya Debian 11/12
  • Minimum 2 GB RAM (4 GB önerilir)
  • Minimum 30 GB disk alanı
  • Docker kurulu olmamalı (Coolify kendi Docker'ını kurar)

Kurulum

Coolify kurulumu tek bir curl komutuyla yapılır:

hljs bash
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash

Kurulum scripti şunları otomatik olarak yapar:

  • Docker ve Docker Compose kurulumu
  • Coolify container'larını indirme ve başlatma
  • Gerekli ağ ve volume yapılandırması
  • Firewall kuralları (8000 portu)

Kurulum tamamlandıktan sonra tarayıcıdan erişin:

http://SUNUCU_IP:8000

İlk kurulumda admin hesabı oluşturmanız istenecektir. Güçlü bir şifre belirleyin.

İlk Yapılandırma

Admin Hesabı Oluşturma

Web arayüzüne ilk girişte e-posta ve şifre belirlenir. Bu bilgiler Coolify veritabanında saklanır.

Sunucu Ekleme

Coolify varsayılan olarak kurulduğu sunucuyu (localhost) otomatik ekler. Ek sunucu eklemek için:

  1. ServersAdd Server
  2. SSH bağlantı bilgilerini girin (IP, port, kullanıcı adı)
  3. SSH private key ekleyin
  4. Validate & Save ile bağlantıyı test edin
hljs bash
# Coolify'ın uzak sunucuya bağlanabilmesi için SSH key oluşturun
ssh-keygen -t ed25519 -C "coolify@myserver"
# Public key'i uzak sunucuya ekleyin
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@remote-server

Git Kaynağı Ekleme

GitHub Entegrasyonu

  1. SourcesAdd SourceGitHub App
  2. GitHub'da OAuth App veya GitHub App oluşturun
  3. Client ID ve Client Secret girin
  4. Callback URL: http://SUNUCU_IP:8000/auth/github

GitLab Entegrasyonu

hljs bash
# GitLab'da Personal Access Token oluşturun
# Gerekli scope'lar: api, read_user, read_repository
  1. SourcesAdd SourceGitLab
  2. GitLab URL ve Access Token girin
  3. Bağlantıyı test edin

Uygulama Deploy Etme

Yeni Proje Oluşturma

  1. ProjectsNew Project
  2. Proje adı ve açıklama girin
  3. Environment seçin (production, staging vb.)

Uygulama Ekleme

  1. Proje içinde New ResourceApplication
  2. Git kaynağını seçin
  3. Repository ve branch seçin
  4. Build pack seçin:
    • Nixpacks: Otomatik algılama (Node.js, Python, PHP, Ruby vb.)
    • Dockerfile: Kendi Dockerfile'ınızı kullanın
    • Docker Compose: compose.yml dosyası
    • Static: Statik HTML/CSS/JS
hljs yaml
# Örnek: Node.js uygulaması için Dockerfile
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]

Environment Variables

Uygulama ayarlarında Environment Variables sekmesine gidin:

hljs bash
# Örnek environment variables
NODE_ENV=production
DATABASE_URL=postgresql://user:pass@db:5432/myapp
REDIS_URL=redis://redis:6379
SECRET_KEY=gizli-anahtar-buraya
PORT=3000

Hassas bilgileri (API key, şifre) environment variable olarak ekleyin. Asla kaynak koduna yazmayın.

Domain ve SSL Yapılandırması

  1. Uygulama ayarlarında Domains sekmesi
  2. Domain adını girin: app.example.com
  3. SSL seçeneğini etkinleştirin (Let's Encrypt otomatik)
  4. DNS'te A kaydı oluşturun: app.example.com → SUNUCU_IP
hljs bash
# DNS kaydını doğrulayın
nslookup app.example.com
dig app.example.com A

Veritabanı Servisleri

PostgreSQL Kurulumu

  1. New ResourceDatabasePostgreSQL
  2. Versiyon seçin (14, 15, 16)
  3. Kullanıcı adı ve şifre belirleyin
  4. Deploy butonuna tıklayın
hljs bash
# Coolify PostgreSQL bağlantı bilgileri
# Internal URL (aynı sunucudaki uygulamalar için):
postgresql://coolify:sifre@postgres:5432/mydb

# External URL (dışarıdan erişim için):
postgresql://coolify:sifre@SUNUCU_IP:PORT/mydb

Redis Kurulumu

hljs bash
# New Resource → Database → Redis
# Versiyon: 7.x
# Internal bağlantı:
redis://default:sifre@redis:6379

Veritabanı Yedekleme

Coolify otomatik yedekleme özelliği sunar:

  1. Veritabanı ayarlarında Backups sekmesi
  2. Yedekleme sıklığını ayarlayın (günlük, haftalık)
  3. S3 uyumlu depolama ekleyin (AWS S3, MinIO, Cloudflare R2)
hljs bash
# Manuel yedekleme
coolify backup create --database postgres-id

# Yedekleri listele
coolify backup list

Docker Compose ile Deploy

Mevcut docker-compose.yml dosyalarını doğrudan Coolify'a aktarabilirsiniz:

hljs yaml
# docker-compose.yml örneği
version: '3.8'
services:
  app:
    image: myapp:latest
    environment:
      - NODE_ENV=production
      - DATABASE_URL=${DATABASE_URL}
    ports:
      - "3000:3000"
    depends_on:
      - db
  db:
    image: postgres:16
    environment:
      POSTGRES_DB: myapp
      POSTGRES_USER: ${DB_USER}
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    volumes:
      - postgres_data:/var/lib/postgresql/data
volumes:
  postgres_data:

Otomatik Deployment (Webhook)

Git push sonrası otomatik deploy için webhook ayarlayın:

  1. Uygulama ayarlarında Webhooks sekmesi
  2. Webhook URL'ini kopyalayın
  3. GitHub/GitLab repository ayarlarına ekleyin:
hljs bash
# GitHub Webhook ayarları:
# Payload URL: https://coolify.example.com/webhooks/github
# Content type: application/json
# Secret: Coolify'dan kopyalanan secret
# Events: Push events

Coolify Güncelleme

hljs bash
# Coolify'ı en son versiyona güncelle
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash

# Veya web arayüzünden:
# Settings → Updates → Update Coolify

Sorun Giderme

hljs bash
# Coolify loglarını görüntüle
docker logs coolify

# Tüm Coolify container'larını listele
docker ps | grep coolify

# Coolify'ı yeniden başlat
docker restart coolify

# Proxy (Traefik) logları
docker logs coolify-proxy

REXE VPS sunucularında Coolify mükemmel çalışır. 4 GB RAM ve 2 vCPU ile küçük-orta ölçekli projelerinizi kolayca yönetebilirsiniz.