quicklify 0.8.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/README.md +220 -32
  2. package/README.tr.md +800 -0
  3. package/dist/commands/add.d.ts +9 -0
  4. package/dist/commands/add.d.ts.map +1 -0
  5. package/dist/commands/add.js +151 -0
  6. package/dist/commands/add.js.map +1 -0
  7. package/dist/commands/backup.d.ts +1 -0
  8. package/dist/commands/backup.d.ts.map +1 -1
  9. package/dist/commands/backup.js +105 -6
  10. package/dist/commands/backup.js.map +1 -1
  11. package/dist/commands/config.d.ts.map +1 -1
  12. package/dist/commands/config.js +1 -1
  13. package/dist/commands/config.js.map +1 -1
  14. package/dist/commands/doctor.d.ts.map +1 -1
  15. package/dist/commands/doctor.js +5 -1
  16. package/dist/commands/doctor.js.map +1 -1
  17. package/dist/commands/init.d.ts.map +1 -1
  18. package/dist/commands/init.js +93 -12
  19. package/dist/commands/init.js.map +1 -1
  20. package/dist/commands/maintain.d.ts +8 -0
  21. package/dist/commands/maintain.d.ts.map +1 -0
  22. package/dist/commands/maintain.js +253 -0
  23. package/dist/commands/maintain.js.map +1 -0
  24. package/dist/commands/monitor.d.ts.map +1 -1
  25. package/dist/commands/monitor.js +2 -1
  26. package/dist/commands/monitor.js.map +1 -1
  27. package/dist/commands/remove.d.ts +2 -0
  28. package/dist/commands/remove.d.ts.map +1 -0
  29. package/dist/commands/remove.js +25 -0
  30. package/dist/commands/remove.js.map +1 -0
  31. package/dist/commands/restart.d.ts.map +1 -1
  32. package/dist/commands/restart.js +4 -0
  33. package/dist/commands/restart.js.map +1 -1
  34. package/dist/commands/restore.js +1 -1
  35. package/dist/commands/restore.js.map +1 -1
  36. package/dist/commands/secure.d.ts.map +1 -1
  37. package/dist/commands/secure.js +1 -1
  38. package/dist/commands/secure.js.map +1 -1
  39. package/dist/commands/status.d.ts +6 -1
  40. package/dist/commands/status.d.ts.map +1 -1
  41. package/dist/commands/status.js +120 -7
  42. package/dist/commands/status.js.map +1 -1
  43. package/dist/commands/transfer.d.ts.map +1 -1
  44. package/dist/commands/transfer.js +9 -1
  45. package/dist/commands/transfer.js.map +1 -1
  46. package/dist/commands/update.d.ts +5 -1
  47. package/dist/commands/update.d.ts.map +1 -1
  48. package/dist/commands/update.js +101 -14
  49. package/dist/commands/update.js.map +1 -1
  50. package/dist/index.js +36 -5
  51. package/dist/index.js.map +1 -1
  52. package/dist/providers/digitalocean.d.ts.map +1 -1
  53. package/dist/providers/digitalocean.js +4 -1
  54. package/dist/providers/digitalocean.js.map +1 -1
  55. package/dist/providers/hetzner.d.ts.map +1 -1
  56. package/dist/providers/hetzner.js +2 -2
  57. package/dist/providers/hetzner.js.map +1 -1
  58. package/dist/providers/linode.d.ts +21 -0
  59. package/dist/providers/linode.d.ts.map +1 -0
  60. package/dist/providers/linode.js +203 -0
  61. package/dist/providers/linode.js.map +1 -0
  62. package/dist/providers/vultr.d.ts +21 -0
  63. package/dist/providers/vultr.d.ts.map +1 -0
  64. package/dist/providers/vultr.js +183 -0
  65. package/dist/providers/vultr.js.map +1 -0
  66. package/dist/types/index.d.ts +22 -0
  67. package/dist/types/index.d.ts.map +1 -1
  68. package/dist/utils/config.d.ts +1 -0
  69. package/dist/utils/config.d.ts.map +1 -1
  70. package/dist/utils/config.js +7 -0
  71. package/dist/utils/config.js.map +1 -1
  72. package/dist/utils/configMerge.d.ts +16 -0
  73. package/dist/utils/configMerge.d.ts.map +1 -0
  74. package/dist/utils/configMerge.js +34 -0
  75. package/dist/utils/configMerge.js.map +1 -0
  76. package/dist/utils/prompts.d.ts.map +1 -1
  77. package/dist/utils/prompts.js +2 -0
  78. package/dist/utils/prompts.js.map +1 -1
  79. package/dist/utils/providerFactory.d.ts.map +1 -1
  80. package/dist/utils/providerFactory.js +10 -0
  81. package/dist/utils/providerFactory.js.map +1 -1
  82. package/dist/utils/serverSelect.d.ts +1 -0
  83. package/dist/utils/serverSelect.d.ts.map +1 -1
  84. package/dist/utils/serverSelect.js +37 -6
  85. package/dist/utils/serverSelect.js.map +1 -1
  86. package/dist/utils/ssh.d.ts.map +1 -1
  87. package/dist/utils/ssh.js +3 -1
  88. package/dist/utils/ssh.js.map +1 -1
  89. package/dist/utils/templates.d.ts +6 -0
  90. package/dist/utils/templates.d.ts.map +1 -0
  91. package/dist/utils/templates.js +49 -0
  92. package/dist/utils/templates.js.map +1 -0
  93. package/dist/utils/yamlConfig.d.ts +8 -0
  94. package/dist/utils/yamlConfig.d.ts.map +1 -0
  95. package/dist/utils/yamlConfig.js +136 -0
  96. package/dist/utils/yamlConfig.js.map +1 -0
  97. package/package.json +5 -1
package/README.tr.md ADDED
@@ -0,0 +1,800 @@
1
+ # quicklify
2
+
3
+ > [English](README.md) | Türkçe
4
+
5
+ ![Tests](https://github.com/omrfc/quicklify/actions/workflows/ci.yml/badge.svg)
6
+ [![Coverage](https://codecov.io/gh/omrfc/quicklify/branch/main/graph/badge.svg)](https://codecov.io/gh/omrfc/quicklify)
7
+ ![npm](https://img.shields.io/npm/v/quicklify)
8
+ ![Downloads](https://img.shields.io/npm/dw/quicklify)
9
+ ![License](https://img.shields.io/badge/license-MIT-blue)
10
+ ![GitHub stars](https://img.shields.io/github/stars/omrfc/quicklify?style=flat-square)
11
+ [![Socket Badge](https://socket.dev/api/badge/npm/package/quicklify)](https://socket.dev/npm/package/quicklify)
12
+
13
+ > Coolify'i tek bir komutla bulut VPS'e deploy edin
14
+
15
+ ## 🚀 Quicklify Nedir?
16
+
17
+ Quicklify, [Coolify](https://coolify.io/) kurulumunu bulut VPS sağlayıcılarında otomatikleştiren bir CLI aracıdır. Coolify, Vercel/Netlify/Heroku'ya açık kaynaklı, kendi sunucunuzda barındırılan bir alternatiftir — Quicklify ise Coolify'i VPS'inize tek bir komutla kurar.
18
+
19
+ **Quicklify Olmadan:**
20
+
21
+ ```
22
+ VPS'i manuel oluştur (5 dk)
23
+ Sunucuya SSH ile bağlan (2 dk)
24
+ Docker kur (10 dk)
25
+ Güvenlik duvarını yapılandır (5 dk)
26
+ Coolify'i kur (10 dk)
27
+ Toplam: ~30 dakika + manuel iş
28
+ ```
29
+
30
+ **Quicklify ile:**
31
+
32
+ ```bash
33
+ npx quicklify init
34
+ # Hetzner: ~4 dk | DigitalOcean: ~6 dk | Vultr: ~5 dk | Linode: ~6 dk
35
+ # Sıfır manuel iş ✨
36
+ ```
37
+
38
+ ## ✨ Özellikler
39
+
40
+ - 🎯 **Tek Komut Deploy** - VPS + Coolify tek bir komutla
41
+ - 💰 **Maliyet Tasarrufu** - $50-200/ay (Vercel/Netlify) → €3.79/ay
42
+ - 🔒 **Varsayılan Güvenlik** - Otomatik güvenlik yapılandırması
43
+ - 🌍 **Çoklu Bulut** - Hetzner Cloud, DigitalOcean, Vultr, Linode
44
+ - 💻 **Şık CLI** - Doğrulama destekli interaktif arayüz
45
+ - 🎨 **ARM64 Desteği** - Uygun fiyatlı ARM sunucu desteği
46
+ - ⚡ **Hızlı Kurulum** - Hetzner ~4 dk, DigitalOcean ~6 dk, Vultr ~5 dk, Linode ~6 dk
47
+ - ✨ **Dinamik Sunucu Tipleri** - Seçilen konum için yalnızca uyumlu tipler gösterilir
48
+ - 🔥 **Otomatik Güvenlik Duvarı** - 8000, 22, 80, 443 portları otomatik yapılandırılır
49
+ - 🚀 **SSH Gerektirmez** - Kurulumdan sonra doğrudan tarayıcıda açılır
50
+ - 📋 **Sunucu Yönetimi** - Listeleme, durum kontrolü, silme, yeniden başlatma, yedekleme, geri yükleme komutları
51
+ - 🔧 **Varsayılan Ayarlar** - Tekrarlayan soruları atlamak için varsayılanları belirleyin
52
+ - 🔑 **SSH Erişimi** - Sunuculara bağlanın veya uzaktan komut çalıştırın
53
+ - 🔄 **Coolify Güncelleme** - Coolify'i tek komutla güncelleyin
54
+ - 🏥 **Sağlık Kontrolü Yoklaması** - Coolify'in ne zaman hazır olduğunu algılar (artık körlemesine bekleme yok)
55
+ - 📊 **Sunucu İzleme** - CPU/RAM/Disk kullanımı ve Docker konteyner durumu
56
+ - 📜 **Log Görüntüleyici** - Coolify, Docker veya sistem loglarını takip moduyla görüntüleyin
57
+ - 🩺 **Ortam Doktoru** - Yerel kurulum sorunlarını teşhis edin
58
+ - 🫀 **Toplu Sağlık Kontrolü** - Tüm sunucuları aynı anda kontrol edin
59
+ - 🔥 **Güvenlik Duvarı Yönetimi** - UFW kurulumu, port ekleme/kaldırma, korumalı port güvenliği
60
+ - 🌐 **Domain Yönetimi** - Domain bağlama, DNS kontrolü, Coolify üzerinden otomatik SSL
61
+ - 🛡️ **SSH Güçlendirme** - Şifre girişini devre dışı bırakma, fail2ban, güvenlik denetimi ve puan
62
+ - 🧪 **Kuru Çalıştırma Modu** - Güvenlik duvarı/domain/güvenlik/yedekleme/geri yükleme komutlarını çalıştırmadan önce önizleyin
63
+ - 💾 **Yedekleme & Geri Yükleme** - Veritabanı + yapılandırma yedeklemesi SCP ile indirme, çift onaylı geri yükleme
64
+ - 📦 **Dışa/İçe Aktarma** - Sunucu listesini makineler arasında JSON olarak aktarın
65
+ - ⚡ **Tam Kurulum** - `--full-setup` bayrağı deploy sonrası güvenlik duvarı + SSH güçlendirmesini otomatik yapılandırır
66
+ - 📄 **YAML Yapılandırma** - `quicklify init --config quicklify.yml` ile tek komutluk deploy
67
+ - 📋 **Şablonlar** - `--template starter|production|dev` ile sağlayıcıya özel varsayılanlar
68
+ - 🤖 **Etkileşimsiz Mod** - `--provider --token --region --size --name` bayraklarıyla CI/CD uyumlu
69
+ - ➕ **Mevcut Sunucu Ekleme** - `quicklify add` ile mevcut Coolify sunucularını kaydedin
70
+ - 🔄 **Toplu İşlemler** - `--all` bayrağı ile status, update, backup komutlarını tüm sunucularda çalıştırın
71
+ - 🔁 **Otomatik Yeniden Başlatma** - `status --autostart` sunucu çalışıyor ama Coolify kapalıysa yeniden başlatır
72
+ - 🔧 **Tam Bakım** - `quicklify maintain` ile status, update, health check, reboot sıralı çalışır
73
+
74
+ ## 🎯 Quicklify ile Neler Yapabilirsiniz?
75
+
76
+ ### Dakikalar İçinde Coolify Sunucusu Kurun
77
+
78
+ ```bash
79
+ npx quicklify init # İnteraktif kurulum
80
+ npx quicklify init --provider hetzner --full-setup # Otomatik güvenlik duvarı + SSH güçlendirme
81
+ npx quicklify init --template production # Üretime hazır varsayılanlar
82
+ npx quicklify init --config quicklify.yml # YAML dosyasından yapılandırma
83
+ ```
84
+
85
+ ### Sunucularınızı Yönetin
86
+
87
+ ```bash
88
+ quicklify list # Tüm kayıtlı sunucuları listele
89
+ quicklify status sunucum # Sunucu + Coolify durumunu kontrol et
90
+ quicklify status --all # Tüm sunucuları aynı anda kontrol et
91
+ quicklify ssh sunucum # Sunucuya SSH ile bağlan
92
+ quicklify ssh sunucum -c "uptime" # Uzaktan komut çalıştır
93
+ ```
94
+
95
+ ### Her Şeyi Güncel & Sağlıklı Tutun
96
+
97
+ ```bash
98
+ quicklify update sunucum # Coolify'i son sürüme güncelle
99
+ quicklify restart sunucum # Sunucuyu yeniden başlat
100
+ quicklify maintain sunucum # Tam bakım: durum → güncelle → sağlık → yeniden başlat
101
+ quicklify maintain --all # Tüm sunucuları sırayla bakımdan geçir
102
+ quicklify health # Tüm sunucular için hızlı sağlık kontrolü
103
+ ```
104
+
105
+ ### Yedekleme & Geri Yükleme
106
+
107
+ ```bash
108
+ quicklify backup sunucum # Veritabanı + yapılandırma dosyalarını yedekle
109
+ quicklify backup --all # Tüm sunucuları yedekle
110
+ quicklify restore sunucum # Yedekten geri yükle
111
+ quicklify export servers.json # Sunucu listesini dışa aktar
112
+ quicklify import servers.json # Başka makinede içe aktar
113
+ ```
114
+
115
+ ### Güvenlik & Ağ
116
+
117
+ ```bash
118
+ quicklify firewall setup sunucum # UFW'yi Coolify portlarıyla yapılandır
119
+ quicklify domain add sunucum --domain coolify.example.com # Domain bağla + SSL
120
+ quicklify secure setup sunucum # SSH güçlendirme + fail2ban
121
+ quicklify secure audit sunucum # Güvenlik denetimi ve puanlama (0-4)
122
+ ```
123
+
124
+ ### İzleme & Teşhis
125
+
126
+ ```bash
127
+ quicklify monitor sunucum # Canlı CPU/RAM/Disk kullanımı
128
+ quicklify logs sunucum -f # Coolify loglarını gerçek zamanlı takip et
129
+ quicklify doctor # Yerel ortamı kontrol et
130
+ quicklify status sunucum --autostart # Coolify kapalıysa otomatik yeniden başlat
131
+ ```
132
+
133
+ ## 📦 Kurulum
134
+
135
+ ### npx ile (Önerilen)
136
+
137
+ ```bash
138
+ npx quicklify init
139
+ ```
140
+
141
+ ### Global Kurulum
142
+
143
+ ```bash
144
+ npm install -g quicklify
145
+ quicklify init
146
+ ```
147
+
148
+ ## 🎬 Hızlı Başlangıç
149
+
150
+ ### Adım 1: API Token Alın
151
+
152
+ **Hetzner Cloud:**
153
+
154
+ 1. [Hetzner Konsolu](https://console.hetzner.cloud/)'nu ziyaret edin
155
+ 2. Projenizi seçin
156
+ 3. Security → API Tokens bölümüne gidin
157
+ 4. "Generate API Token" butonuna tıklayın
158
+ 5. İzinleri **Read & Write** olarak ayarlayın
159
+ 6. Token'ı kopyalayın (yalnızca bir kez gösterilir!)
160
+
161
+ **DigitalOcean:**
162
+
163
+ 1. [DigitalOcean API](https://cloud.digitalocean.com/account/api/tokens) sayfasını ziyaret edin
164
+ 2. **Read & Write** kapsamında yeni token oluşturun
165
+ 3. Token'ı kopyalayın
166
+
167
+ **Vultr:**
168
+
169
+ 1. [Vultr API](https://my.vultr.com/settings/#settingsapi) sayfasını ziyaret edin
170
+ 2. API'yi etkinleştirin ve API Key'i kopyalayın
171
+ 3. IP adresinizi beyaz listeye ekleyin
172
+
173
+ **Linode (Akamai):**
174
+
175
+ 1. [Linode API Tokens](https://cloud.linode.com/profile/tokens) sayfasını ziyaret edin
176
+ 2. **Read/Write** kapsamında Personal Access Token oluşturun
177
+ 3. Token'ı kopyalayın
178
+
179
+ ### Adım 2: Coolify'i Deploy Edin
180
+
181
+ ```bash
182
+ npx quicklify init
183
+ ```
184
+
185
+ Sizden şunlar istenecek:
186
+
187
+ - ✅ **API Token** - Bulut sağlayıcı token'ınızı yapıştırın
188
+ - ✅ **Bölge** - Veri merkezi konumunu seçin
189
+ - ✅ **Sunucu Boyutu** - VPS özelliklerini seçin (CAX11 önerilir)
190
+ - ✅ **Sunucu Adı** - Örneğinize isim verin
191
+
192
+ ### Adım 3: Coolify'e Erişin
193
+
194
+ Deploy sonrası (Hetzner ~4 dk, DigitalOcean ~6 dk, Vultr ~5 dk, Linode ~6 dk):
195
+
196
+ ```
197
+ ✅ Deployment Successful!
198
+ Server IP: 123.45.67.89
199
+ Access Coolify: http://123.45.67.89:8000
200
+ ```
201
+
202
+ URL'yi ziyaret edin, admin hesabınızı oluşturun ve deploy etmeye başlayın!
203
+
204
+ ## 🔒 Güvenlik Notları
205
+
206
+ **Önemli:** Port 8000, deploy sonrası herkese açıktır.
207
+
208
+ **Önerilen sonraki adımlar:**
209
+ 1. **Tek komut kurulum:** `quicklify init --full-setup` (otomatik güvenlik duvarı + SSH güçlendirme)
210
+ 2. **Veya manuel:** `quicklify firewall setup my-server`
211
+ 3. **Domain ekleyin:** `quicklify domain add my-server --domain example.com`
212
+ 4. **SSH güçlendirin:** `quicklify secure setup my-server`
213
+ 5. **Güvenlik denetimi çalıştırın:** `quicklify secure audit my-server`
214
+ 6. **Yedek oluşturun:** `quicklify backup my-server`
215
+ 7. İlk girişte **güçlü bir şifre** belirleyin
216
+ 8. DDoS koruması için **Cloudflare** kullanmayı düşünün
217
+
218
+ ## 🌐 Desteklenen Sağlayıcılar
219
+
220
+ | Sağlayıcı | Durum | Başlangıç Fiyatı | Mimari |
221
+ |------------|-------|-------------------|--------|
222
+ | **Hetzner Cloud** | ✅ Mevcut | €3.79/ay | ARM64 + x86 |
223
+ | **DigitalOcean** | ✅ Mevcut | $12/ay | x86 |
224
+ | **Vultr** | ✅ Mevcut | $6/ay | x86 |
225
+ | **Linode (Akamai)** | ✅ Mevcut | $12/ay | x86 |
226
+
227
+ ## 💡 Kullanım Senaryoları
228
+
229
+ **Şunlar için ideal:**
230
+
231
+ - 🚀 Yan projeler ve MVP'ler
232
+ - 💼 Müşteri deploy'ları (serbest çalışanlar/ajanslar)
233
+ - 🎓 DevOps ve self-hosting öğrenmek
234
+ - 💸 Bulut barındırma maliyetlerini düşürmek
235
+ - 🏢 Küçük ekip iç araçları
236
+
237
+ **Alternatifleri ne zaman tercih etmeli:**
238
+
239
+ - Büyük kurumsal? → Coolify Cloud veya kurumsal PaaS
240
+ - Aşırı ölçek? → Kubernetes + yönetilen servisler
241
+
242
+ ## 📊 Maliyet Karşılaştırması
243
+
244
+ | Çözüm | Aylık Maliyet | Kurulum Süresi | Yönetim |
245
+ |--------|---------------|----------------|---------|
246
+ | Vercel (Hobby) | $20+ | 5 dk | Kolay |
247
+ | Vercel (Pro) | $50+ | 5 dk | Kolay |
248
+ | Netlify (Pro) | $19+ | 5 dk | Kolay |
249
+ | **Quicklify + Hetzner** | **€3.79** | **~4 dk** | **Kolay** |
250
+ | **Quicklify + DigitalOcean** | **$12** | **~6 dk** | **Kolay** |
251
+ | **Quicklify + Vultr** | **$6** | **~5 dk** | **Kolay** |
252
+ | **Quicklify + Linode** | **$12** | **~6 dk** | **Kolay** |
253
+ | Manuel VPS + Coolify | €3.79 | 30+ dk | Zor |
254
+
255
+ **Tasarruf: Proje başına yılda ~$180-240!** 💰
256
+
257
+ ## 📋 Son Güncellemeler
258
+
259
+ ### v1.0.0 (2026-02-23)
260
+ - **Yeni sağlayıcılar:** Vultr ve Linode (Akamai) — artık 4 bulut sağlayıcı destekleniyor
261
+ - **Yeni komut:** `quicklify add` — mevcut Coolify sunucularını Quicklify yönetimine kaydedin
262
+ - **Yeni komut:** `quicklify maintain` — tam bakım döngüsü (status, update, health, reboot)
263
+ - **Toplu işlemler:** `--all` bayrağı `status`, `update`, `backup` komutlarında — tüm sunucularda aynı anda çalıştırın
264
+ - **Otomatik yeniden başlatma:** `status --autostart` — sunucu çalışıyor ama Coolify kapalıysa yeniden başlatır
265
+ - **`collectProviderTokens()`** — her sağlayıcının token'ını tüm sunucular boyunca yalnızca bir kez sorar
266
+ - 44 test paketi genelinde 937 test, %98+ statement coverage, sıfır yeni bağımlılık
267
+
268
+ ### v0.9.0 (2026-02-21)
269
+ - **YAML Yapılandırma:** `quicklify init --config quicklify.yml` - yapılandırma dosyasından deploy
270
+ - **Şablonlar:** `--template starter|production|dev` - sağlayıcıya özel önceden tanımlı sunucu yapılandırmaları
271
+ - **Yapılandırma birleştirme:** Öncelik sırası: CLI bayrakları > YAML değerleri > şablon varsayılanları > interaktif sorular
272
+ - **Güvenlik:** YAML'daki token alanları algılanır ve uyarılır (token'ları yapılandırma dosyalarında saklamayın)
273
+ - 1 yeni bağımlılık (js-yaml), %98+ statement coverage ile 742 test
274
+
275
+ ### v0.8.0 (2026-02-21)
276
+ - **Yeni komutlar:** `quicklify backup`, `quicklify restore`, `quicklify export`, `quicklify import`
277
+ - **Yedekleme:** pg_dump + yapılandırma arşivi, SCP ile `~/.quicklify/backups/` dizinine indirme, manifest.json metadata
278
+ - **Geri yükleme:** Yedeği sunucuya yükleme, Coolify'i durdur/başlat, DB + yapılandırma geri yükleme, çift onaylı güvenlik
279
+ - **Dışa/İçe aktarma:** `servers.json` dosyasını makineler arasında aktarma, kopya algılama, format doğrulama
280
+ - **`--full-setup` bayrağı:** `quicklify init --full-setup` deploy sonrası güvenlik duvarı + SSH güçlendirmesini otomatik yapılandırır
281
+ - Sıfır yeni bağımlılık, %98+ statement coverage ile 636 test
282
+
283
+ ### v0.7.0 (2026-02-20)
284
+ - **Yeni komutlar:** `quicklify firewall`, `quicklify domain`, `quicklify secure`
285
+ - **Güvenlik duvarı yönetimi:** UFW kurulumu, port ekleme/kaldırma, korumalı port 22 güvenliği, Coolify port uyarıları
286
+ - **Domain yönetimi:** Coolify'e domain bağlama, DNS A kaydı kontrolü, otomatik SSL
287
+ - **SSH güçlendirme:** Şifre girişini devre dışı bırakma, yalnızca anahtar ile root girişi, fail2ban, 0-4 puan güvenlik denetimi
288
+ - **Kuru çalıştırma modu:** `--dry-run` bayrağı tüm komutları çalıştırmadan önizler
289
+ - Sıfır yeni bağımlılık, %97+ statement coverage ile 494 test
290
+
291
+ ### v0.6.0 (2026-02-20)
292
+ - **Yeni komutlar:** `quicklify logs`, `quicklify monitor`, `quicklify health`, `quicklify doctor`
293
+ - **Log görüntüleyici:** `--follow` ile gerçek zamanlı akış ile Coolify/Docker/sistem loglarını görüntüleme
294
+ - **Sunucu izleme:** CPU/RAM/Disk kullanımı ve Docker konteyner listesi
295
+ - **Toplu sağlık kontrolü:** Tüm kayıtlı sunucuları yanıt süreleriyle aynı anda kontrol etme
296
+ - **Ortam doktoru:** Node.js, SSH, yapılandırma sorunlarını yerel olarak teşhis etme
297
+ - Sıfır yeni bağımlılık, %97+ statement coverage ile 354 test
298
+
299
+ ### v0.5.0 (2026-02-20)
300
+ - **Yeni komutlar:** `quicklify config`, `quicklify ssh`, `quicklify update`, `quicklify restart`
301
+ - **Varsayılan yapılandırma:** `quicklify config set` ile sağlayıcı, bölge, boyut varsayılanlarını ayarlayın
302
+ - **SSH erişimi:** `quicklify ssh` ile sunuculara bağlanın veya `--command` ile komut çalıştırın
303
+ - **Coolify güncelleme:** `quicklify update` ile SSH üzerinden Coolify güncelleyin
304
+ - **Sunucu yeniden başlatma:** `quicklify restart` ile sağlayıcı API üzerinden yeniden başlatma
305
+ - %97+ statement coverage ile 311 test
306
+
307
+ ### v0.4.0 (2026-02-20)
308
+ - **Yeni komutlar:** `quicklify list`, `quicklify status [sorgu]`, `quicklify destroy [sorgu]`
309
+ - **Etkileşimsiz mod:** CI/CD için `quicklify init --provider --token --region --size --name`
310
+ - **Sağlık kontrolü yoklaması:** Körlemesine bekleme yerine Coolify'in hazır olduğunu algılar
311
+ - %97+ statement coverage ile 246 test
312
+
313
+ ### v0.3.1 (2026-02-19)
314
+ - Hetzner fiyatlandırması artık net fiyatları (KDV hariç) gösteriyor, web sitesi gösterimiyle uyumlu
315
+ - Hetzner sunucu tipleri konum başına gerçek uygunluk için `/datacenters` API'sini kullanıyor
316
+ - Kullanımdan kaldırılan Hetzner sunucu tipleri değiştirildi (cpx→cx23/cx33)
317
+ - "Sunucu adı zaten kullanılıyor" hatası artık yeni ad girmek için yönlendiriyor
318
+ - Konum devre dışı yeniden deneme artık sunucu tipi için tekrar soruyor
319
+
320
+ ### v0.3.0 (2026-02-19)
321
+ - DigitalOcean sağlayıcı desteği (tam API entegrasyonu)
322
+ - İnteraktif sağlayıcı seçimi (Hetzner / DigitalOcean)
323
+ - Tüm sorularda adım bazlı geri navigasyon
324
+ - DigitalOcean cloud-init güvenilirliği için ağ bekleme döngüsü + kurulum loglama
325
+
326
+ ## 🗺️ Yol Haritası
327
+
328
+ ### v0.1.0 (Tamamlandı)
329
+
330
+ - [x] Hetzner Cloud entegrasyonu
331
+ - [x] İnteraktif CLI
332
+ - [x] Otomatik Coolify kurulumu
333
+ - [x] ARM64 desteği
334
+
335
+ ### v0.2.0 (Tamamlandı)
336
+
337
+ - [x] Dinamik sunucu tipi filtreleme
338
+ - [x] Otomatik güvenlik duvarı yapılandırması
339
+ - [x] Fiyat formatlama düzeltmesi
340
+
341
+ ### v0.2.x (Tamamlandı)
342
+
343
+ - [x] Kullanımdan kaldırılan sunucu tipi filtreleme
344
+ - [x] Kullanılamayan sunucu tiplerinde yeniden deneme
345
+ - [x] Dinamik deploy özeti
346
+ - [x] Dinamik önerilen seçim
347
+ - [x] Codecov entegrasyonu ve coverage rozeti
348
+ - [x] ESLint + Prettier kod kalite araçları
349
+ - [x] Sıfır `any` tipi - tam tip güvenliği
350
+
351
+ ### v0.3.0 (Tamamlandı)
352
+
353
+ - [x] DigitalOcean desteği
354
+ - [x] İnteraktif sağlayıcı seçimi arayüzü
355
+ - [x] Adım bazlı geri navigasyon
356
+ - [x] Cloud-init güvenilirlik iyileştirmeleri (ağ bekleme, loglama)
357
+
358
+ ### v0.4.0 (Tamamlandı)
359
+
360
+ - [x] Sunucu yönetim komutları (list, status, destroy)
361
+ - [x] CI/CD için etkileşimsiz mod
362
+ - [x] Coolify sağlık kontrolü yoklaması (körlemesine bekleme yerine)
363
+ - [x] Sunucu kaydı kalıcılığı (`~/.quicklify/servers.json`)
364
+ - [x] Provider arayüzünde `destroyServer()`
365
+ - [x] Silme için çift onaylı güvenlik
366
+
367
+ ### v0.5.0 (Tamamlandı)
368
+
369
+ - [x] Varsayılan yapılandırma yönetimi (`quicklify config`)
370
+ - [x] Sunuculara SSH erişimi (`quicklify ssh`)
371
+ - [x] SSH üzerinden Coolify güncelleme (`quicklify update`)
372
+ - [x] Sağlayıcı API üzerinden sunucu yeniden başlatma (`quicklify restart`)
373
+ - [x] Paylaşılan sunucu seçimi ve token yardımcı araçları (DRY refaktör)
374
+
375
+ ### v0.6.0 (Tamamlandı)
376
+
377
+ - [x] Sunucu izleme - CPU/RAM/Disk kullanımı (`quicklify monitor`)
378
+ - [x] Log görüntüleyici - Coolify/Docker/sistem logları (`quicklify logs`)
379
+ - [x] Tüm sunucular için toplu sağlık kontrolü (`quicklify health`)
380
+ - [x] Ortam teşhis (`quicklify doctor`)
381
+ - [x] Gerçek zamanlı log takibi için SSH akışı
382
+
383
+ ### v0.7.0 (Tamamlandı)
384
+
385
+ - [x] Güvenlik duvarı yönetimi - UFW kurulumu, port ekleme/kaldırma (`quicklify firewall`)
386
+ - [x] Domain yönetimi - Domain bağlama, DNS kontrolü, SSL (`quicklify domain`)
387
+ - [x] SSH güçlendirme - Şifre devre dışı, fail2ban, güvenlik denetimi (`quicklify secure`)
388
+ - [x] Tüm güvenlik komutları için kuru çalıştırma modu
389
+
390
+ ### v0.8.0 (Tamamlandı)
391
+
392
+ - [x] Coolify veritabanı + yapılandırma yedeklemesi (`quicklify backup`)
393
+ - [x] Çift onaylı yedekten geri yükleme (`quicklify restore`)
394
+ - [x] Sunucu listesi dışa/içe aktarma (`quicklify export`, `quicklify import`)
395
+ - [x] init sırasında otomatik güvenlik duvarı + SSH güçlendirme için `--full-setup` bayrağı
396
+
397
+ ### v0.9.0 (Tamamlandı)
398
+
399
+ - [x] Tek komutluk deploy için YAML yapılandırma dosyası (`quicklify.yml`)
400
+ - [x] Şablon sistemi (`--template starter|production|dev`)
401
+ - [x] Öncelikli yapılandırma birleştirme: CLI > YAML > şablon > interaktif
402
+
403
+ ### v1.0.0 (Tamamlandı)
404
+
405
+ - [x] Vultr sağlayıcı desteği
406
+ - [x] Linode (Akamai) sağlayıcı desteği
407
+ - [x] `quicklify add` — mevcut Coolify sunucularını kaydetme
408
+ - [x] `quicklify maintain` — tam bakım döngüsü
409
+ - [x] status, update, backup için `--all` bayrağı
410
+ - [x] `status --autostart` — Coolify kapalıysa otomatik yeniden başlatma
411
+
412
+ ### Gelecek
413
+ - [ ] `quicklify snapshot` — bakım öncesi otomatik VPS snapshot'ları
414
+ - [ ] `init --mode production` — 2 sunuculu deploy (Coolify + worker)
415
+ - [ ] İnteraktif TUI kontrol paneli
416
+
417
+ ## 🛠️ Teknoloji Altyapısı
418
+
419
+ - **Çalışma Ortamı:** Node.js 20+
420
+ - **Dil:** TypeScript
421
+ - **CLI Çatısı:** Commander.js
422
+ - **İnteraktif Sorular:** Inquirer.js
423
+ - **Stil:** Chalk (renkler) + Ora (yüklenme animasyonları)
424
+ - **HTTP İstemcisi:** Axios
425
+ - **YAML Ayrıştırıcı:** js-yaml
426
+ - **Bulut API'leri:** Hetzner Cloud API v1, DigitalOcean API v2, Vultr API v2, Linode API v4
427
+ - **Linting:** ESLint 10 + typescript-eslint
428
+ - **Formatlama:** Prettier
429
+
430
+ ## 📖 CLI Referansı
431
+
432
+ ### Komutlar
433
+
434
+ ```bash
435
+ # Yeni Coolify örneği deploy et (interaktif)
436
+ quicklify init
437
+
438
+ # Etkileşimsiz deploy (CI/CD uyumlu)
439
+ export HETZNER_TOKEN="your-api-token"
440
+ quicklify init --provider hetzner --region nbg1 --size cax11 --name my-server
441
+
442
+ # Otomatik güvenlik duvarı + SSH güçlendirme ile deploy
443
+ quicklify init --full-setup
444
+
445
+ # YAML yapılandırma dosyasından deploy
446
+ quicklify init --config quicklify.yml
447
+
448
+ # Şablon kullanarak deploy
449
+ quicklify init --template production --provider hetzner
450
+
451
+ # Tüm kayıtlı sunucuları listele
452
+ quicklify list
453
+
454
+ # Sunucu ve Coolify durumunu kontrol et
455
+ quicklify status 123.45.67.89
456
+ quicklify status my-server
457
+ quicklify status --all # Tüm sunucuları aynı anda kontrol et
458
+ quicklify status my-server --autostart # Coolify kapalıysa yeniden başlat
459
+
460
+ # Sunucu sil (çift onay ile)
461
+ quicklify destroy 123.45.67.89
462
+ quicklify destroy my-server
463
+
464
+ # Sunucuyu yerel ayarlardan kaldır (bulut sunucuyu silmeden)
465
+ quicklify remove sunucum
466
+ quicklify remove 123.45.67.89
467
+
468
+ # Varsayılan yapılandırmayı yönet
469
+ quicklify config set provider hetzner
470
+ quicklify config set region nbg1
471
+ quicklify config get provider
472
+ quicklify config list
473
+ quicklify config reset
474
+
475
+ # Sunucuya SSH ile bağlan
476
+ quicklify ssh my-server
477
+ quicklify ssh 123.45.67.89 -c "docker ps"
478
+
479
+ # Sunucudaki Coolify'i güncelle
480
+ quicklify update my-server
481
+ quicklify update --all # Tüm sunucuları sırayla güncelle
482
+
483
+ # Sunucuyu yeniden başlat
484
+ quicklify restart my-server
485
+
486
+ # Coolify loglarını görüntüle (son 50 satır)
487
+ quicklify logs my-server
488
+
489
+ # Coolify loglarını gerçek zamanlı takip et
490
+ quicklify logs my-server --follow
491
+
492
+ # Docker veya sistem loglarını görüntüle
493
+ quicklify logs my-server --service docker --lines 100
494
+ quicklify logs my-server --service system
495
+
496
+ # CPU/RAM/Disk kullanımını göster
497
+ quicklify monitor my-server
498
+
499
+ # Docker konteynerleriyle kullanımı göster
500
+ quicklify monitor my-server --containers
501
+
502
+ # Tüm sunucuların sağlığını kontrol et
503
+ quicklify health
504
+
505
+ # Ortam teşhisi çalıştır
506
+ quicklify doctor
507
+
508
+ # Güvenlik duvarı yönetimi
509
+ quicklify firewall setup my-server # UFW kur + Coolify portlarını aç
510
+ quicklify firewall add my-server --port 3000 # 3000/tcp portunu aç
511
+ quicklify firewall add my-server --port 53 --protocol udp # 53/udp portunu aç
512
+ quicklify firewall remove my-server --port 3000 # 3000 portunu kapat
513
+ quicklify firewall list my-server # Güvenlik duvarı kurallarını göster
514
+ quicklify firewall status my-server # UFW aktif/pasif durumu
515
+ quicklify firewall setup my-server --dry-run # Çalıştırmadan önizle
516
+
517
+ # Domain yönetimi
518
+ quicklify domain add my-server --domain example.com # Domain bağla + HTTPS
519
+ quicklify domain add my-server --domain example.com --no-ssl # Yalnızca HTTP
520
+ quicklify domain remove my-server # IP:8000'e geri dön
521
+ quicklify domain check my-server --domain example.com # DNS doğrula
522
+ quicklify domain list my-server # Mevcut domain'i göster
523
+ quicklify domain add my-server --domain example.com --dry-run # Önizle
524
+
525
+ # SSH güçlendirme ve güvenlik
526
+ quicklify secure status my-server # Güvenlik ayarlarını göster
527
+ quicklify secure audit my-server # Güvenlik puanı (0-4)
528
+ quicklify secure setup my-server # SSH güçlendir + fail2ban kur
529
+ quicklify secure setup my-server --port 2222 # SSH portunu değiştir
530
+ quicklify secure setup my-server --dry-run # Çalıştırmadan önizle
531
+
532
+ # Coolify veritabanı ve yapılandırmasını yedekle
533
+ quicklify backup my-server # Tam yedekleme (pg_dump + yapılandırma)
534
+ quicklify backup --all # Tüm sunucuları sırayla yedekle
535
+ quicklify backup my-server --dry-run # Yedekleme adımlarını önizle
536
+
537
+ # Yedekten geri yükle
538
+ quicklify restore my-server # İnteraktif yedek seçimi
539
+ quicklify restore my-server --backup 2026-02-21_15-30-45-123 # Belirli yedek
540
+ quicklify restore my-server --dry-run # Geri yükleme adımlarını önizle
541
+
542
+ # Sunucu listesini dışa/içe aktar
543
+ quicklify export # ./quicklify-export.json'a aktar
544
+ quicklify export /path/to/file.json # Özel yola aktar
545
+ quicklify import /path/to/file.json # Sunucuları içe aktar (kopyaları atlar)
546
+
547
+ # Mevcut Coolify sunucusunu yönetime ekle
548
+ quicklify add # İnteraktif (sağlayıcı, token, IP, doğrulama)
549
+ quicklify add --provider hetzner --ip 1.2.3.4 --name my-server # Etkileşimsiz
550
+ quicklify add --provider vultr --ip 1.2.3.4 --skip-verify # Coolify kontrolünü atla
551
+
552
+ # Tam bakım döngüsü çalıştır
553
+ quicklify maintain my-server # Status → Update → Health → Reboot
554
+ quicklify maintain my-server --skip-reboot # Yeniden başlatma adımını atla
555
+ quicklify maintain --all # Tüm sunucuları sırayla bakıma al
556
+ quicklify maintain my-server --dry-run # Bakım adımlarını önizle
557
+
558
+ # Sürümü göster
559
+ quicklify --version
560
+
561
+ # Yardımı göster
562
+ quicklify --help
563
+ ```
564
+
565
+ ### Etkileşimsiz Mod
566
+
567
+ API token'ınızı ortam değişkeni olarak ayarlayın, ardından tüm seçenekleri bayrak olarak geçirin:
568
+
569
+ ```bash
570
+ # Token ayarla (önerilen - kabuk geçmişinde görünmeyi önler)
571
+ export HETZNER_TOKEN="your-api-token"
572
+ # veya
573
+ export DIGITALOCEAN_TOKEN="your-api-token"
574
+ # veya
575
+ export VULTR_TOKEN="your-api-token"
576
+ # veya
577
+ export LINODE_TOKEN="your-api-token"
578
+
579
+ # Etkileşimsiz deploy
580
+ quicklify init \
581
+ --provider hetzner \
582
+ --region nbg1 \
583
+ --size cax11 \
584
+ --name production-coolify
585
+ ```
586
+
587
+ Token çözümleme sırası: ortam değişkeni > interaktif soru. `--token` bayrağı mevcuttur ancak kabuk geçmişinde token'ı açığa çıkardığı için **önerilmez**.
588
+
589
+ Bazı bayraklar eksikse, yalnızca eksik değerler interaktif olarak sorulur.
590
+
591
+ ### YAML Yapılandırma Dosyası
592
+
593
+ Tekrarlanabilir deploy'lar için bir `quicklify.yml` dosyası oluşturun:
594
+
595
+ ```yaml
596
+ # quicklify.yml
597
+ template: production
598
+ provider: hetzner
599
+ region: nbg1
600
+ size: cx33
601
+ name: my-coolify-prod
602
+ fullSetup: true
603
+ ```
604
+
605
+ Ardından deploy edin:
606
+
607
+ ```bash
608
+ export HETZNER_TOKEN="your-api-token"
609
+ quicklify init --config quicklify.yml
610
+ ```
611
+
612
+ **Güvenlik:** API token'larını yapılandırma dosyalarında asla saklamayın. Ortam değişkenlerini kullanın (`export HETZNER_TOKEN=...`).
613
+
614
+ **Yapılandırma birleştirme önceliği:** CLI bayrakları > YAML değerleri > şablon varsayılanları > interaktif sorular.
615
+
616
+ ### Şablonlar
617
+
618
+ Şablonlar sağlayıcıya özel makul varsayılanlar sunar:
619
+
620
+ | Şablon | Hetzner | DigitalOcean | Vultr | Linode | Tam Kurulum |
621
+ |--------|---------|--------------|-------|--------|-------------|
622
+ | `starter` | nbg1 / cax11 (€3.79) | fra1 / s-2vcpu-2gb ($12) | ewr / vc2-2c-4gb ($24) | us-east / g6-standard-2 ($12) | Hayır |
623
+ | `production` | nbg1 / cx33 (€5.49) | fra1 / s-2vcpu-4gb ($24) | ewr / vc2-4c-8gb ($48) | us-east / g6-standard-4 ($36) | Evet |
624
+ | `dev` | nbg1 / cax11 (€3.79) | fra1 / s-2vcpu-2gb ($12) | ewr / vc2-2c-4gb ($24) | us-east / g6-standard-2 ($12) | Hayır |
625
+
626
+ ```bash
627
+ # Hızlı production deploy
628
+ export HETZNER_TOKEN="your-api-token"
629
+ quicklify init --template production --provider hetzner --name my-server
630
+
631
+ # Test için ucuz starter
632
+ export DIGITALOCEAN_TOKEN="your-api-token"
633
+ quicklify init --template starter --provider digitalocean --name test-server
634
+ ```
635
+
636
+ ### İnteraktif Sorular
637
+
638
+ 1. **Sağlayıcı Seçimi** - Hetzner Cloud, DigitalOcean, Vultr veya Linode seçin
639
+ 2. **API Token** - Devam etmeden önce doğrulanır
640
+ 3. **Bölge Seçimi** - Tercih ettiğiniz veri merkezini seçin
641
+ 4. **Sunucu Boyutu** - Coolify gereksinimleri (2GB RAM, 2 vCPU) ile filtrelenir
642
+ 5. **Sunucu Adı** - Format doğrulama (küçük harf, alfanümerik, kısa çizgi)
643
+ 6. **Onay** - Deploy öncesi özet inceleme
644
+
645
+ Tüm adımlar önceki adıma dönmek için **← Geri** navigasyonunu destekler.
646
+
647
+ ## 🧪 Testler
648
+
649
+ ### Testleri Çalıştırma
650
+
651
+ ```bash
652
+ # Tüm testleri çalıştır
653
+ npm test
654
+
655
+ # İzleme modunda testleri çalıştır
656
+ npm run test:watch
657
+
658
+ # Coverage raporu ile testleri çalıştır
659
+ npm run test:coverage
660
+
661
+ # Kodu lint'le
662
+ npm run lint
663
+
664
+ # Kodu formatla
665
+ npm run format
666
+ ```
667
+
668
+ ### Test Yapısı
669
+
670
+ ```
671
+ tests/
672
+ ├── __mocks__/ # Mock modülleri (axios, inquirer, ora, chalk)
673
+ ├── unit/ # Birim testleri
674
+ │ ├── cloudInit.test.ts
675
+ │ ├── config.test.ts # Config CRUD işlemleri
676
+ │ ├── config-edge.test.ts # Config uç durumları (bozulma, boş dosyalar)
677
+ │ ├── config-command.test.ts # Config komut alt komutları
678
+ │ ├── defaults.test.ts # Varsayılan config CRUD
679
+ │ ├── destroy.test.ts # Destroy komutu birim testleri
680
+ │ ├── doctor.test.ts # Doctor komutu testleri
681
+ │ ├── domain.test.ts # Domain komutu testleri
682
+ │ ├── firewall.test.ts # Firewall komutu testleri
683
+ │ ├── health-command.test.ts # Health komutu testleri
684
+ │ ├── healthCheck.test.ts # Sağlık kontrolü yoklama testleri
685
+ │ ├── healthCheck-edge.test.ts # Sağlık kontrolü uç durumları (302, 401, 500)
686
+ │ ├── list.test.ts # List komutu birim testleri
687
+ │ ├── logger.test.ts
688
+ │ ├── logs.test.ts # Logs komutu testleri
689
+ │ ├── monitor.test.ts # Monitor komutu testleri
690
+ │ ├── prompts.test.ts
691
+ │ ├── providerFactory.test.ts # Provider factory testleri
692
+ │ ├── restart.test.ts # Restart komutu testleri
693
+ │ ├── secure.test.ts # Secure komutu testleri
694
+ │ ├── backup.test.ts # Backup komutu testleri
695
+ │ ├── restore.test.ts # Restore komutu testleri
696
+ │ ├── transfer.test.ts # Export/Import komutu testleri
697
+ │ ├── templates.test.ts # Şablon tanımları testleri
698
+ │ ├── yamlConfig.test.ts # YAML yapılandırma yükleyici testleri
699
+ │ ├── configMerge.test.ts # Yapılandırma birleştirme mantığı testleri
700
+ │ ├── init-fullsetup.test.ts # Init --full-setup testleri
701
+ │ ├── serverSelect.test.ts # Sunucu seçim yardımcı testleri
702
+ │ ├── ssh-command.test.ts # SSH komutu testleri
703
+ │ ├── ssh-utils.test.ts # SSH yardımcı testleri
704
+ │ ├── status.test.ts # Status komutu birim testleri
705
+ │ ├── update.test.ts # Update komutu testleri
706
+ │ ├── add.test.ts # Add komutu testleri
707
+ │ ├── maintain.test.ts # Maintain komutu testleri
708
+ │ └── validators.test.ts
709
+ ├── integration/ # Entegrasyon testleri (sağlayıcı API çağrıları)
710
+ │ ├── hetzner.test.ts # destroyServer testleri dahil
711
+ │ ├── digitalocean.test.ts # destroyServer testleri dahil
712
+ │ ├── vultr.test.ts # Vultr sağlayıcı testleri
713
+ │ └── linode.test.ts # Linode sağlayıcı testleri
714
+ └── e2e/ # Uçtan uca testler (tam komut akışları)
715
+ ├── init.test.ts
716
+ ├── init-noninteractive.test.ts # Etkileşimsiz mod E2E
717
+ ├── init-config.test.ts # YAML yapılandırma + şablon E2E
718
+ ├── status.test.ts # Status komutu E2E
719
+ └── destroy.test.ts # Destroy komutu E2E
720
+ ```
721
+
722
+ ### CI/CD
723
+
724
+ Testler her push/PR'da GitHub Actions aracılığıyla otomatik çalışır:
725
+
726
+ - **İşletim Sistemi:** Ubuntu, macOS, Windows
727
+ - **Node.js:** 20, 22
728
+
729
+ ### Coverage
730
+
731
+ Mevcut coverage: **%98+ statements/lines**, **%91+ branches**, **%98+ functions**. 44 test paketi genelinde 937 test.
732
+
733
+ ## 🔧 Sorun Giderme
734
+
735
+ **"Invalid API token"**
736
+
737
+ - Token'ın Read & Write izinlerine sahip olduğundan emin olun
738
+ - Kopyalarken fazla boşluk olup olmadığını kontrol edin
739
+ - Gerekirse token'ı yeniden oluşturun
740
+
741
+ **"Server creation failed"**
742
+
743
+ - Bulut hesabında yeterli bakiye olduğunu doğrulayın
744
+ - Hesap limitlerini kontrol edin (yeni hesapların kısıtlamaları olabilir)
745
+ - Farklı bölge veya sunucu boyutu deneyin
746
+
747
+ **"Cannot access Coolify UI"**
748
+
749
+ - 3-5 dakika daha bekleyin (Coolify başlatma zaman alır)
750
+ - Kurulum logunu kontrol edin: `ssh root@YOUR_IP "cat /var/log/quicklify-install.log | tail -20"`
751
+ - Güvenlik duvarı ayarlarını kontrol edin (otomatik yapılandırılmalıdır)
752
+ - Bulut konsolunda sunucunun çalıştığını doğrulayın
753
+
754
+ ## 🤝 Katkıda Bulunma
755
+
756
+ Katkılarınızı bekliyoruz! Geliştirme ortamı kurulumu, kod kuralları ve PR süreci için [CONTRIBUTING.md](CONTRIBUTING.md) dosyasına bakın.
757
+
758
+ **Katkı alanları:**
759
+
760
+ - Yeni bulut sağlayıcı entegrasyonları
761
+ - CLI iyileştirmeleri
762
+ - Dokümantasyon
763
+ - Hata düzeltmeleri
764
+
765
+ ## 📄 Lisans
766
+
767
+ MIT © 2026 Ömer FC
768
+
769
+ Detaylar için [LICENSE](LICENSE) dosyasına bakın.
770
+
771
+ ## 🙏 Teşekkürler
772
+
773
+ - [Coolify](https://coolify.io/) - Harika açık kaynaklı PaaS
774
+ - [Hetzner](https://www.hetzner.com/) - Uygun fiyatlı, güvenilir bulut altyapısı
775
+ - [DigitalOcean](https://www.digitalocean.com/) - Geliştirici dostu bulut platformu
776
+ - [Vultr](https://www.vultr.com/) - Yüksek performanslı bulut bilişim
777
+ - [Linode](https://www.linode.com/) - Basit, uygun fiyatlı bulut bilişim
778
+ - Tüm katkıda bulunanlar ve kullanıcılar!
779
+
780
+ ## 💬 Destek & Topluluk
781
+
782
+ - 🐛 **Hata Raporları:** [GitHub Issues](https://github.com/omrfc/quicklify/issues)
783
+ - 💡 **Özellik İstekleri:** [GitHub Discussions](https://github.com/omrfc/quicklify/discussions)
784
+ - 🐦 **Güncellemeler:** [@omrfc](https://twitter.com/omrfc)
785
+ - 🌐 **Web Sitesi:** [quicklify.omrfc.dev](https://quicklify.omrfc.dev)
786
+
787
+ ## ⭐ Desteğinizi Gösterin
788
+
789
+ Quicklify size yardımcı olduysa, lütfen:
790
+
791
+ - ⭐ Bu depoyu yıldızlayın
792
+ - 🐦 Twitter'da paylaşın
793
+ - 📝 Blog yazısı yazın
794
+ - 💬 Arkadaşlarınıza anlatın!
795
+
796
+ ---
797
+
798
+ **[@omrfc](https://github.com/omrfc) tarafından ❤️ ile yapılmıştır**
799
+
800
+ *Geliştiricilerin zamanını kurtarıyor, her seferinde bir deploy.* ⚡