quicklify 1.0.0 → 1.0.1
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.
- package/README.md +98 -718
- package/README.tr.md +96 -718
- package/dist/commands/domain.d.ts +1 -0
- package/dist/commands/domain.d.ts.map +1 -1
- package/dist/commands/domain.js +4 -1
- package/dist/commands/domain.js.map +1 -1
- package/dist/commands/maintain.d.ts +1 -0
- package/dist/commands/maintain.d.ts.map +1 -1
- package/dist/commands/maintain.js +39 -4
- package/dist/commands/maintain.js.map +1 -1
- package/dist/commands/restore.js +2 -2
- package/dist/commands/restore.js.map +1 -1
- package/dist/commands/snapshot.d.ts +8 -0
- package/dist/commands/snapshot.d.ts.map +1 -0
- package/dist/commands/snapshot.js +199 -0
- package/dist/commands/snapshot.js.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/providers/base.d.ts +5 -1
- package/dist/providers/base.d.ts.map +1 -1
- package/dist/providers/digitalocean.d.ts +5 -1
- package/dist/providers/digitalocean.d.ts.map +1 -1
- package/dist/providers/digitalocean.js +74 -0
- package/dist/providers/digitalocean.js.map +1 -1
- package/dist/providers/hetzner.d.ts +5 -1
- package/dist/providers/hetzner.d.ts.map +1 -1
- package/dist/providers/hetzner.js +75 -0
- package/dist/providers/hetzner.js.map +1 -1
- package/dist/providers/linode.d.ts +5 -1
- package/dist/providers/linode.d.ts.map +1 -1
- package/dist/providers/linode.js +88 -0
- package/dist/providers/linode.js.map +1 -1
- package/dist/providers/vultr.d.ts +5 -1
- package/dist/providers/vultr.d.ts.map +1 -1
- package/dist/providers/vultr.js +79 -0
- package/dist/providers/vultr.js.map +1 -1
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/yamlConfig.d.ts.map +1 -1
- package/dist/utils/yamlConfig.js +6 -1
- package/dist/utils/yamlConfig.js.map +1 -1
- package/package.json +1 -1
package/README.tr.md
CHANGED
|
@@ -5,796 +5,174 @@
|
|
|
5
5
|

|
|
6
6
|
[](https://codecov.io/gh/omrfc/quicklify)
|
|
7
7
|

|
|
8
|
-

|
|
9
9
|

|
|
10
10
|

|
|
11
11
|
[](https://socket.dev/npm/package/quicklify)
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
**Coolify'i tek komutla bulut VPS'inize kurun.**
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Quicklify, [Coolify](https://coolify.io)'i bulut sunucunuza yaklaşık 4 dakikada kurar, yapılandırır ve yönetir. Verilerinizi yedekleyin, güvenliği sıkılaştırın, domain yönetin ve her şeyi güncel tutun — hepsi terminalden.
|
|
16
16
|
|
|
17
|
-
|
|
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:**
|
|
17
|
+
## Hızlı Başlangıç
|
|
31
18
|
|
|
32
19
|
```bash
|
|
20
|
+
# 1. Hetzner, DigitalOcean, Vultr veya Linode'dan API token'ınızı alın
|
|
21
|
+
# 2. Kurulumu başlatın
|
|
33
22
|
npx quicklify init
|
|
34
|
-
# Hetzner: ~4 dk | DigitalOcean: ~6 dk | Vultr: ~5 dk | Linode: ~6 dk
|
|
35
|
-
# Sıfır manuel iş ✨
|
|
36
|
-
```
|
|
37
23
|
|
|
38
|
-
|
|
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
|
|
24
|
+
# 3. Coolify'a http://<sunucu-ip>:8000 adresinden erişin
|
|
83
25
|
```
|
|
84
26
|
|
|
85
|
-
|
|
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
|
-
```
|
|
27
|
+
Hepsi bu kadar. Quicklify sunucu oluşturma, SSH anahtar kurulumu, güvenlik duvarı yapılandırması ve Coolify kurulumunu otomatik yapar.
|
|
94
28
|
|
|
95
|
-
|
|
29
|
+
## Neler Yapabilirsiniz?
|
|
96
30
|
|
|
31
|
+
### Kurulum
|
|
97
32
|
```bash
|
|
98
|
-
quicklify
|
|
99
|
-
quicklify
|
|
100
|
-
quicklify
|
|
101
|
-
quicklify
|
|
102
|
-
quicklify health # Tüm sunucular için hızlı sağlık kontrolü
|
|
33
|
+
quicklify init # İnteraktif kurulum
|
|
34
|
+
quicklify init --provider hetzner # Otomatik kurulum
|
|
35
|
+
quicklify init --config quicklify.yml # YAML ile kurulum
|
|
36
|
+
quicklify init --template production # Şablon kullanarak
|
|
103
37
|
```
|
|
104
38
|
|
|
105
|
-
###
|
|
106
|
-
|
|
39
|
+
### Yönetim
|
|
107
40
|
```bash
|
|
108
|
-
quicklify
|
|
109
|
-
quicklify
|
|
110
|
-
quicklify
|
|
111
|
-
quicklify
|
|
112
|
-
quicklify
|
|
41
|
+
quicklify list # Sunucuları listele
|
|
42
|
+
quicklify status sunucum # Sunucu ve Coolify durumu
|
|
43
|
+
quicklify status --all # Tüm sunucuları kontrol et
|
|
44
|
+
quicklify ssh sunucum # Sunucuya SSH bağlantısı
|
|
45
|
+
quicklify restart sunucum # Sunucuyu yeniden başlat
|
|
46
|
+
quicklify add # Mevcut Coolify sunucusu ekle
|
|
47
|
+
quicklify remove sunucum # Yerel yapılandırmadan kaldır
|
|
113
48
|
```
|
|
114
49
|
|
|
115
|
-
###
|
|
116
|
-
|
|
50
|
+
### Güncelleme ve Bakım
|
|
117
51
|
```bash
|
|
118
|
-
quicklify
|
|
119
|
-
quicklify
|
|
120
|
-
quicklify
|
|
121
|
-
quicklify secure audit sunucum # Güvenlik denetimi ve puanlama (0-4)
|
|
52
|
+
quicklify update sunucum # Coolify'ı güncelle
|
|
53
|
+
quicklify maintain sunucum # Tam bakım (snapshot + güncelleme + sağlık + yeniden başlatma)
|
|
54
|
+
quicklify maintain --all # Tüm sunucuları bakıma al
|
|
122
55
|
```
|
|
123
56
|
|
|
124
|
-
###
|
|
125
|
-
|
|
57
|
+
### Yedekleme ve Geri Yükleme
|
|
126
58
|
```bash
|
|
127
|
-
quicklify
|
|
128
|
-
quicklify
|
|
129
|
-
quicklify
|
|
130
|
-
quicklify status sunucum --autostart # Coolify kapalıysa otomatik yeniden başlat
|
|
59
|
+
quicklify backup sunucum # Veritabanı + yapılandırma yedeği
|
|
60
|
+
quicklify backup --all # Tüm sunucuları yedekle
|
|
61
|
+
quicklify restore sunucum # Yedekten geri yükle
|
|
131
62
|
```
|
|
132
63
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
### npx ile (Önerilen)
|
|
136
|
-
|
|
64
|
+
### Snapshot'lar
|
|
137
65
|
```bash
|
|
138
|
-
|
|
66
|
+
quicklify snapshot create sunucum # VPS snapshot'ı oluştur (maliyet tahminiyle)
|
|
67
|
+
quicklify snapshot list sunucum # Snapshot'ları listele
|
|
68
|
+
quicklify snapshot list --all # Tüm sunuculardaki snapshot'ları listele
|
|
69
|
+
quicklify snapshot delete sunucum # Snapshot sil
|
|
139
70
|
```
|
|
140
71
|
|
|
141
|
-
###
|
|
142
|
-
|
|
72
|
+
### Güvenlik
|
|
143
73
|
```bash
|
|
144
|
-
|
|
145
|
-
quicklify
|
|
74
|
+
quicklify firewall status sunucum # Güvenlik duvarı durumu
|
|
75
|
+
quicklify firewall setup sunucum # UFW yapılandırması
|
|
76
|
+
quicklify secure audit sunucum # Güvenlik denetimi
|
|
77
|
+
quicklify secure harden sunucum # SSH sıkılaştırma + fail2ban
|
|
78
|
+
quicklify domain add sunucum --domain ornek.com # Domain + SSL ayarla
|
|
146
79
|
```
|
|
147
80
|
|
|
148
|
-
|
|
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
|
-
|
|
81
|
+
### İzleme ve Hata Ayıklama
|
|
181
82
|
```bash
|
|
182
|
-
|
|
83
|
+
quicklify monitor sunucum # CPU, RAM, disk kullanımı
|
|
84
|
+
quicklify logs sunucum # Coolify logları
|
|
85
|
+
quicklify logs sunucum -f # Logları canlı takip et
|
|
86
|
+
quicklify health # Tüm sunucuların sağlık kontrolü
|
|
87
|
+
quicklify doctor # Yerel ortam kontrolü
|
|
183
88
|
```
|
|
184
89
|
|
|
185
|
-
|
|
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
|
|
90
|
+
## Desteklenen Sağlayıcılar
|
|
191
91
|
|
|
192
|
-
|
|
92
|
+
| Sağlayıcı | Durum | Bölgeler | Başlangıç Fiyatı |
|
|
93
|
+
|-----------|-------|----------|------------------|
|
|
94
|
+
| [Hetzner Cloud](https://hetzner.cloud) | Kararlı | Avrupa, ABD | €3,49/ay |
|
|
95
|
+
| [DigitalOcean](https://digitalocean.com) | Kararlı | Küresel | $12/ay |
|
|
96
|
+
| [Vultr](https://vultr.com) | Kararlı | Küresel | $10/ay |
|
|
97
|
+
| [Linode (Akamai)](https://linode.com) | Beta | Küresel | $12/ay |
|
|
193
98
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
```
|
|
197
|
-
✅ Deployment Successful!
|
|
198
|
-
Server IP: 123.45.67.89
|
|
199
|
-
Access Coolify: http://123.45.67.89:8000
|
|
200
|
-
```
|
|
99
|
+
> **Not:** Linode desteği beta aşamasındadır — topluluk testleri memnuniyetle karşılanır.
|
|
201
100
|
|
|
202
|
-
|
|
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ı)
|
|
101
|
+
## YAML Yapılandırması
|
|
404
102
|
|
|
405
|
-
|
|
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:
|
|
103
|
+
Tek bir yapılandırma dosyasıyla kurulum yapın:
|
|
594
104
|
|
|
595
105
|
```yaml
|
|
596
106
|
# quicklify.yml
|
|
597
|
-
template: production
|
|
598
107
|
provider: hetzner
|
|
599
108
|
region: nbg1
|
|
600
|
-
size:
|
|
601
|
-
name:
|
|
109
|
+
size: cax11
|
|
110
|
+
name: sunucum
|
|
602
111
|
fullSetup: true
|
|
112
|
+
domain: coolify.ornek.com
|
|
603
113
|
```
|
|
604
114
|
|
|
605
|
-
Ardından deploy edin:
|
|
606
|
-
|
|
607
115
|
```bash
|
|
608
|
-
export HETZNER_TOKEN="your-api-token"
|
|
609
116
|
quicklify init --config quicklify.yml
|
|
610
117
|
```
|
|
611
118
|
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
**Yapılandırma birleştirme önceliği:** CLI bayrakları > YAML değerleri > şablon varsayılanları > interaktif sorular.
|
|
119
|
+
## Şablonlar
|
|
615
120
|
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
|
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 |
|
|
121
|
+
| Şablon | Kullanım Alanı | İçerik |
|
|
122
|
+
|--------|---------------|--------|
|
|
123
|
+
| `starter` | Test, yan projeler | En küçük sunucu |
|
|
124
|
+
| `production` | Canlı uygulamalar | 4+ vCPU, 8+ GB RAM |
|
|
125
|
+
| `dev` | Geliştirme ve CI/CD | Dengeli kaynaklar |
|
|
625
126
|
|
|
626
127
|
```bash
|
|
627
|
-
|
|
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
|
|
128
|
+
quicklify init --template production --provider hetzner
|
|
634
129
|
```
|
|
635
130
|
|
|
636
|
-
|
|
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.
|
|
131
|
+
## Güvenlik
|
|
646
132
|
|
|
647
|
-
|
|
133
|
+
- API token'ları asla diske kaydedilmez — çalışma zamanında sorulur veya ortam değişkenlerinden alınır
|
|
134
|
+
- SSH anahtarları gerekirse otomatik oluşturulur (Ed25519)
|
|
135
|
+
- `--full-setup` güvenlik duvarı ve SSH sıkılaştırmasını otomatik etkinleştirir
|
|
136
|
+
- Tüm SSH bağlantıları `StrictHostKeyChecking=accept-new` kullanır
|
|
137
|
+
- Yapılandırma dosyasında token tespiti, YAML'da gizli bilgi saklamaya karşı uyarır
|
|
648
138
|
|
|
649
|
-
|
|
139
|
+
## Kurulum
|
|
650
140
|
|
|
651
141
|
```bash
|
|
652
|
-
#
|
|
653
|
-
|
|
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
|
|
142
|
+
# Doğrudan çalıştırın (önerilen)
|
|
143
|
+
npx quicklify <komut>
|
|
660
144
|
|
|
661
|
-
#
|
|
662
|
-
npm
|
|
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
|
|
145
|
+
# Veya global olarak kurun
|
|
146
|
+
npm install -g quicklify
|
|
147
|
+
quicklify <komut>
|
|
720
148
|
```
|
|
721
149
|
|
|
722
|
-
|
|
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
|
|
150
|
+
Node.js 20 veya üstü gereklidir.
|
|
766
151
|
|
|
767
|
-
|
|
152
|
+
## Sorun Giderme
|
|
768
153
|
|
|
769
|
-
|
|
154
|
+
**Sunucu oluşturma başarısız mı?**
|
|
155
|
+
API token'ınızı ve yerel ortamınızı doğrulamak için `quicklify doctor --check-tokens` komutunu çalıştırın.
|
|
770
156
|
|
|
771
|
-
|
|
157
|
+
**Coolify yanıt vermiyor mu?**
|
|
158
|
+
Durumu kontrol edip gerekirse otomatik yeniden başlatmak için `quicklify status sunucum --autostart` kullanın.
|
|
772
159
|
|
|
773
|
-
|
|
774
|
-
|
|
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!
|
|
160
|
+
**Sıfırdan başlamak mı istiyorsunuz?**
|
|
161
|
+
`quicklify destroy sunucum` bulut sunucusunu tamamen kaldırır.
|
|
779
162
|
|
|
780
|
-
##
|
|
163
|
+
## Katkıda Bulunma
|
|
781
164
|
|
|
782
|
-
|
|
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)
|
|
165
|
+
Geliştirme ortamı kurulumu, test ve katkı rehberi için [CONTRIBUTING.md](CONTRIBUTING.md) dosyasına bakın.
|
|
786
166
|
|
|
787
|
-
##
|
|
167
|
+
## Gelecek Planlar
|
|
788
168
|
|
|
789
|
-
|
|
169
|
+
- Sunucu yönetimi için interaktif TUI arayüzü
|
|
790
170
|
|
|
791
|
-
|
|
792
|
-
- 🐦 Twitter'da paylaşın
|
|
793
|
-
- 📝 Blog yazısı yazın
|
|
794
|
-
- 💬 Arkadaşlarınıza anlatın!
|
|
171
|
+
## Lisans
|
|
795
172
|
|
|
796
|
-
|
|
173
|
+
MIT — [LICENSE](LICENSE) dosyasına bakın
|
|
797
174
|
|
|
798
|
-
|
|
175
|
+
## Destek
|
|
799
176
|
|
|
800
|
-
|
|
177
|
+
- [GitHub Issues](https://github.com/omrfrkcpr/quicklify/issues) — Hata bildirimleri ve özellik istekleri
|
|
178
|
+
- [Changelog](CHANGELOG.md) — Sürüm geçmişi
|