Web UI Kullanımı¶
Stackvo Web UI, servisleri ve projeleri görsel olarak yönetmenizi sağlar. Bu kılavuz, dashboard'ın nasıl kullanılacağını, servis ve proje listelerinin nasıl görüntüleneğini, yeni proje oluşturma, düzenleme ve silme işlemlerini, Adminer, PhpMyAdmin, PhpPgAdmin gibi management araçlarına erişimi, log görüntülemeyi ve API endpoint'lerini detaylı olarak açıklamaktadır. Web UI, CLI'ya alternatif kullanıcı dostu bir arayüz sunar.
Erişim¶
Not: /etc/hosts dosyasına domain eklemeyi unutmayın:
Dashboard¶
Ana Sayfa¶
Dashboard, sistemin genel durumunu gösterir:
- Çalışan Servisler: Aktif container sayısı
- Projeler: Toplam proje sayısı
- CPU Kullanımı: Sistem CPU kullanımı
- Memory Kullanımı: Sistem RAM kullanımı
- Disk Kullanımı: Docker volume disk kullanımı
Hızlı Erişim¶
Dashboard'dan hızlıca erişebileceğiniz bölümler:
- Services: Servis listesi ve durumları
- Projects: Proje listesi ve yönetimi
- Tools: Management araçları
- Logs: Container logları
- Settings: Sistem ayarları
Services Sekmesi¶
Servis Listesi¶
Tüm servislerin listesini görüntüler:
| Servis | Durum | Version | URL | Actions |
|---|---|---|---|---|
| MySQL | Running | 8.0 | mysql.stackvo.loc | Start/Stop/Restart |
| Redis | Running | 7.0 | - | Start/Stop/Restart |
| RabbitMQ | Running | 3 | rabbitmq.stackvo.loc | Start/Stop/Restart |
Servis Detayları¶
Bir servise tıklayarak detayları görüntüleyin:
- Container Name: stackvo-mysql
- Image: mysql:8.0
- Status: Up 2 hours
- Ports: 0.0.0.0:3306->3306/tcp
- Network: stackvo-net
- Volumes: mysql-data
- Environment Variables: MYSQL_ROOT_PASSWORD, MYSQL_DATABASE, vb.
Servis Kontrolleri¶
Her servis için:
- Start: Servisi başlat
- Stop: Servisi durdur
- Restart: Servisi yeniden başlat
- Logs: Logları görüntüle
- Stats: CPU, Memory, Network kullanımı
Projects Sekmesi¶
Proje Listesi¶
Tüm projelerin listesini görüntüler:
| Proje | Domain | PHP Version | Webserver | Status | Actions |
|---|---|---|---|---|---|
| project1 | project1.loc | 8.2 | nginx | Running | Open/Edit/Delete |
| laravel-app | laravel.loc | 8.2 | nginx | Running | Open/Edit/Delete |
Yeni Proje Oluşturma¶
New Project butonuna tıklayın:
- Project Name: myproject
- Domain: myproject.loc
- PHP Version: 8.2
- Webserver: nginx
- Document Root: public
- PHP Extensions: pdo, pdo_mysql, mysqli, gd, curl, zip, mbstring
Create butonuna tıklayın.
Not: /etc/hosts dosyasını manuel güncellemeniz gerekir:
Proje Düzenleme¶
Bir projenin Edit butonuna tıklayın:
- PHP versiyonunu değiştirin
- Webserver'ı değiştirin
- PHP extension'ları ekleyin/çıkarın
- Document root'u değiştirin
Save butonuna tıklayın.
Proje Silme¶
Bir projenin Delete butonuna tıklayın:
- Onay penceresi açılır
- Confirm butonuna tıklayın
- Proje container'ları durdurulur
- Proje dizini silinir (opsiyonel)
Not: /etc/hosts dosyasından domain'i manuel kaldırmanız gerekir.
Tools Sekmesi¶
Management Araçları¶
Stackvo, çeşitli management araçları sunar:
Adminer¶
URL: https://adminer.stackvo.loc
Tüm veritabanları için universal management arayüzü.
Bağlantı: - System: MySQL / PostgreSQL / MongoDB - Server: stackvo-mysql / stackvo-postgres / stackvo-mongo - Username: stackvo - Password: stackvo - Database: stackvo
PhpMyAdmin¶
URL: https://phpmyadmin.stackvo.loc
MySQL ve MariaDB için management arayüzü.
Bağlantı: - Server: stackvo-mysql - Username: stackvo - Password: stackvo
PhpPgAdmin¶
URL: https://phppgadmin.stackvo.loc
PostgreSQL için management arayüzü.
PhpMongo¶
URL: https://phpmongo.stackvo.loc
MongoDB için management arayüzü.
PhpMemcachedAdmin¶
URL: https://phpmemcachedadmin.stackvo.loc
Memcached için management arayüzü.
OpCacheGUI¶
URL: https://opcache.stackvo.loc
PHP OPcache istatistikleri ve yönetimi.
Kafbat¶
URL: https://kafbat.stackvo.loc
Kafka için management arayüzü.
Logs Sekmesi¶
Container Logları¶
Tüm container'ların loglarını görüntüleyin:
Filtreler: - Container: Belirli container seç - Level: INFO, WARNING, ERROR - Time Range: Son 1 saat, 24 saat, 7 gün
Özellikler: - Real-time log streaming - Search/filter - Download logs - Clear logs
Log Görüntüleme¶
[2024-12-16 10:00:00] INFO: MySQL started successfully
[2024-12-16 10:00:01] INFO: Redis connected
[2024-12-16 10:00:02] WARNING: Slow query detected (2.5s)
[2024-12-16 10:00:03] ERROR: Connection refused to RabbitMQ
Settings Sekmesi¶
Global Settings¶
.env Dosyası Düzenleme:
UI üzerinden .env dosyasını düzenleyin:
- Traefik Settings
- Default Project Settings
- Docker Network
- Security Settings
- Port Mappings
- Service Versions
Save butonuna tıklayın ve ./stackvo.sh generate çalıştırın.
System Information¶
- Docker Version: 24.0.7
- Docker Compose Version: 2.23.0
- Stackvo Version: 1.0.0
- OS: Ubuntu 22.04
- Total Containers: 15
- Total Volumes: 8
- Total Networks: 1
API Endpoints¶
Web UI, aşağıdaki API endpoint'lerini kullanır:
Services API¶
Tüm servislerin listesini döner.
Projects API¶
Tüm projelerin listesini döner.
Docker Stats API¶
Container istatistiklerini döner.
Control API¶
Container'ları kontrol eder (start/stop/restart).
Payload:
Create Project API¶
Yeni proje oluşturur.
Payload:
{
"name": "myproject",
"domain": "myproject.loc",
"php_version": "8.2",
"webserver": "nginx",
"document_root": "public",
"php_extensions": ["pdo", "pdo_mysql", "mysqli"]
}
Delete Project API¶
Projeyi siler.
Payload:
Troubleshooting¶
UI Açılmıyor¶
# Container durumunu kontrol et
docker ps | grep stackvo-ui
# Logları kontrol et
docker logs stackvo-ui
# Hosts dosyasını kontrol et
cat /etc/hosts | grep stackvo.loc
# Yeniden başlat
docker restart stackvo-ui
API Hataları¶
# PHP loglarını kontrol et
docker logs stackvo-ui
# API endpoint'i test et
curl https://stackvo.loc/api/services.php
# Permissions kontrolü
docker exec stackvo-ui ls -la /var/www/html/api/