CLI Komutları Referansı¶
Stackvo CLI komutlarının tam referansı. Bu sayfa, generate, up, down, restart, ps, logs, pull, doctor, install ve uninstall komutlarının syntax'ını, parametrelerini, seçeneklerini ve kullanım örneklerini detaylı olarak açıklamaktadır. Ayrıca environment variables, exit codes ve Docker Compose eşdeğerleri de içermektedir.
Kurulum¶
Kurulumdan sonra stackvo komutu sistem genelinde kullanılabilir.
Komutlar¶
generate¶
Konfigürasyon dosyalarını üretir.
Syntax:
Modes: - (boş) - Tümünü üret - projects - Sadece projeleri üret - services - Sadece servisleri üret
Options: - --uninstall-tools - Tools konfigürasyonlarını kaldır
Örnekler:
# Tümünü üret
./stackvo.sh generate
# Sadece projeleri üret
./stackvo.sh generate projects
# Sadece servisleri üret
./stackvo.sh generate services
# Tools'u kaldır
./stackvo.sh generate --uninstall-tools
Çıktı Dosyaları: - generated/stackvo.yml - generated/docker-compose.dynamic.yml - generated/docker-compose.projects.yml - core/traefik/dynamic/routes.yml - core/generated/configs/*
up¶
Servisleri başlatır. Varsayılan olarak minimal mode (sadece core servisler).
Syntax:
Mode Options: - (boş) - Minimal mode: Sadece core servisler (Traefik + UI) - --all - Tüm servisleri ve projeleri başlat (eski davranış) - --services - Core + tüm servisleri başlat - --projects - Core + tüm projeleri başlat - --profile <name> - Core + belirli bir profili başlat (birden fazla kullanılabilir)
Örnekler:
# Minimal mode - Sadece Traefik + UI
./stackvo.sh up
# Tüm servisleri ve projeleri başlat
./stackvo.sh up --all
# Core + tüm servisleri başlat
./stackvo.sh up --services
# Core + tüm projeleri başlat
./stackvo.sh up --projects
# Core + sadece MySQL başlat
./stackvo.sh up --profile mysql
# Core + MySQL ve Redis başlat
./stackvo.sh up --profile mysql --profile redis
# Core + belirli bir proje başlat
./stackvo.sh up --profile project-myproject
Profile İsimlendirme: - Servisler için: mysql, redis, postgres, mongodb, vb. - Projeler için: project-{proje-adı} (örn: project-myproject)
Not: - Varsayılan davranış değişti: Artık up komutu sadece core servisleri başlatır - Eski davranış için --all parametresini kullanın - Profile'lar Docker Compose profile özelliğini kullanır
Eşdeğer Docker Compose:
# Minimal mode
docker compose -f generated/stackvo.yml \
-f generated/docker-compose.dynamic.yml \
-f generated/docker-compose.projects.yml \
--profile core up -d
# Belirli profile ile
docker compose -f generated/stackvo.yml \
-f generated/docker-compose.dynamic.yml \
-f generated/docker-compose.projects.yml \
--profile core --profile mysql up -d
down¶
Tüm servisleri durdurur.
Syntax:
Options: - -v, --volumes - Volume'ları da sil - --remove-orphans - Orphan container'ları kaldır
Örnekler:
# Servisleri durdur
./stackvo.sh down
# Volume'larla birlikte durdur
./stackvo.sh down -v
# Orphan'ları kaldır
./stackvo.sh down --remove-orphans
restart¶
Servisleri yeniden başlatır.
Syntax:
Örnekler:
# Tüm servisleri yeniden başlat
./stackvo.sh restart
# Belirli servisleri yeniden başlat
docker compose -f generated/stackvo.yml \
-f generated/docker-compose.dynamic.yml \
restart mysql redis
ps¶
Çalışan servisleri listeler.
Syntax:
Options: - -a, --all - Tüm container'ları göster (durdurulmuş olanlar dahil) - --format - Çıktı formatı
Örnekler:
# Çalışan servisleri listele
./stackvo.sh ps
# Tüm container'ları listele
./stackvo.sh ps -a
# Custom format
./stackvo.sh ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
Çıktı:
NAME STATUS PORTS
stackvo-traefik Up 2 hours 0.0.0.0:80->80/tcp
stackvo-mysql Up 2 hours 0.0.0.0:3306->3306/tcp
stackvo-redis Up 2 hours 0.0.0.0:6379->6379/tcp
logs¶
Container loglarını görüntüler.
Syntax:
Options: - -f, --follow - Logları canlı izle - --tail=N - Son N satırı göster - --timestamps - Zaman damgası ekle - --since - Belirli bir zamandan sonraki loglar
Örnekler:
# Tüm logları göster
./stackvo.sh logs
# MySQL loglarını izle
./stackvo.sh logs -f mysql
# Son 100 satır
./stackvo.sh logs --tail=100 mysql
# Zaman damgalı
./stackvo.sh logs --timestamps mysql
# Son 1 saatteki loglar
./stackvo.sh logs --since=1h mysql
pull¶
Docker image'larını çeker.
Syntax:
Örnekler:
# Tüm image'ları çek
./stackvo.sh pull
# Belirli image'ları çek
docker compose -f generated/stackvo.yml \
-f generated/docker-compose.dynamic.yml \
pull mysql redis
doctor¶
Sistem sağlık kontrolü yapar.
Syntax:
Kontroller: - ✓ Docker kurulu mu? - ✓ Docker Compose kurulu mu? - ✓ Docker daemon çalışıyor mu? - ✓ Gerekli portlar açık mı? - ✓ .env dosyası var mı? - ✓ SSL sertifikaları var mı? - ✓ generated/ dizini var mı?
Örnek Çıktı:
✓ Docker is installed (version 24.0.7)
✓ Docker Compose is installed (version 2.23.0)
✓ Docker daemon is running
✓ Port 80 is available
✓ Port 443 is available
✓ .env file exists
✓ SSL certificates found
✓ Generated directory exists
All checks passed!
install¶
Stackvo CLI'yi sisteme kurar.
Syntax:
Ne yapar: - /usr/local/bin/stackvo sembolik link oluşturur - CLI'yi sistem genelinde kullanılabilir yapar
Gereksinimler: - Sudo yetkisi
uninstall¶
Stackvo'u kaldırır.
Syntax:
Ne yapar: 1. Tüm container'ları durdurur 2. Volume'ları siler (onay ister) 3. Network'ü siler 4. CLI sembolik linkini kaldırır
Uyarı: Bu işlem geri alınamaz!
Environment Variables¶
CLI davranışını kontrol eden environment variable'lar:
STACKVO_VERBOSE¶
Detaylı çıktı.
STACKVO_DRY_RUN¶
Komutları çalıştırmadan göster.
ENV_FILE¶
Farklı .env dosyası kullan.
Exit Codes¶
| Code | Açıklama |
|---|---|
| 0 | Başarılı |
| 1 | Genel hata |
| 2 | Kullanım hatası |
| 126 | Komut çalıştırılamadı |
| 127 | Komut bulunamadı |
| 130 | Ctrl+C ile iptal edildi |