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.
İç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:
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:
- Servers → Add Server
- SSH bağlantı bilgilerini girin (IP, port, kullanıcı adı)
- SSH private key ekleyin
- Validate & Save ile bağlantıyı test edin
# 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
- Sources → Add Source → GitHub App
- GitHub'da OAuth App veya GitHub App oluşturun
- Client ID ve Client Secret girin
- Callback URL:
http://SUNUCU_IP:8000/auth/github
GitLab Entegrasyonu
# GitLab'da Personal Access Token oluşturun
# Gerekli scope'lar: api, read_user, read_repository
- Sources → Add Source → GitLab
- GitLab URL ve Access Token girin
- Bağlantıyı test edin
Uygulama Deploy Etme
Yeni Proje Oluşturma
- Projects → New Project
- Proje adı ve açıklama girin
- Environment seçin (production, staging vb.)
Uygulama Ekleme
- Proje içinde New Resource → Application
- Git kaynağını seçin
- Repository ve branch seçin
- 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
# Ö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:
# Ö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ı
- Uygulama ayarlarında Domains sekmesi
- Domain adını girin:
app.example.com - SSL seçeneğini etkinleştirin (Let's Encrypt otomatik)
- DNS'te A kaydı oluşturun:
app.example.com → SUNUCU_IP
# DNS kaydını doğrulayın
nslookup app.example.com
dig app.example.com A
Veritabanı Servisleri
PostgreSQL Kurulumu
- New Resource → Database → PostgreSQL
- Versiyon seçin (14, 15, 16)
- Kullanıcı adı ve şifre belirleyin
- Deploy butonuna tıklayın
# 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
# New Resource → Database → Redis
# Versiyon: 7.x
# Internal bağlantı:
redis://default:sifre@redis:6379
Veritabanı Yedekleme
Coolify otomatik yedekleme özelliği sunar:
- Veritabanı ayarlarında Backups sekmesi
- Yedekleme sıklığını ayarlayın (günlük, haftalık)
- S3 uyumlu depolama ekleyin (AWS S3, MinIO, Cloudflare R2)
# 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:
# 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:
- Uygulama ayarlarında Webhooks sekmesi
- Webhook URL'ini kopyalayın
- GitHub/GitLab repository ayarlarına ekleyin:
# 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
# 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
# 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.
İlgili Makaleler
Nextcloud Kurulumu: Self-Hosted Bulut Depolama ve İşbirliği
Nextcloud kurulumu Docker ile, Apache/Nginx yapılandırması, veritabanı kurulumu, SSL sertifikası, dosya senkronizasyonu, uygulama mağazası ve performans optimizasyonu.
Portainer ile Docker Yönetimi: Web Arayüzlü Konteyner Kontrolü
Portainer CE kurulumu, Docker ve Kubernetes yönetimi, stack deployment, volume/network yönetimi, kullanıcı yetkilendirme, webhook ve GitOps entegrasyonu.
Uptime Kuma Kurulumu: Self-Hosted Uptime Monitoring
Uptime Kuma kurulumu Docker ile, HTTP/TCP/DNS/ping monitörleme, bildirim entegrasyonları (Telegram, Discord, email), status page oluşturma ve alert yapılandırması.