Migration API
Bir server'ın mevcut Docker deployment'ını tarayın ve bulunan servisleri bir Alaf Server projesi olarak benimseyin.
Migration API, bir server'a elle deploy ettiğiniz iş yüklerini — Compose stack'leri ve başıboş container'lar —
Alaf Server yönetimi altına alır. Bir server'ın Docker'ını SSH üzerinden inceler, benimseyebileceği stack'leri döndürür ve ardından
seçtiklerinizden bir Alaf Server services projesi oluşturur. dashboard'da bu, migration
wizard'ıdır; CLI karşılığı yoktur.
Temel Yol ve Kimlik Doğrulama
Tüm yollar, /api altında, instance'ınıza göredir — örn. https://your-host/api/migration/scan.
alaf server token create ile oluşturulmuş kişisel bir erişim token'ını bearer header olarak gönderin (Authorization: Bearer <token>). dashboard bunun yerine oturum çerezinizi kullanır. Tam kimlik doğrulama modeli için API genel bakışına bakın.
Yalnızca Self-hosted
Bu modül yalnızca instance'ınız self-hosted modda çalıştığında yüklenir — bir deployment'ı benimsemek, yönettiğiniz bir server'a SSH erişimi gerektirir, ki Alaf Server Cloud'un böyle bir kavramı yoktur. Bir cloud instance'ında bu rotalar yüklenmez ve 404 döndürür.
Uç Noktalar
| Metot ve yol | İzin | Ne işe yarar |
|---|---|---|
POST /api/migration/scan | server:write | Bir server'ın Docker'ını inceler ve benimsenebilir stack'i döndürür — salt okunur, hiçbir şeyi değiştirmez. |
POST /api/migration/adopt | server:write | Seçilen bulunan servislerden bir Alaf Server projesi oluşturur. |
Her iki rota da hedef serverId'ı istek gövdesinde (URL'de değil) alır. Alaf Server, herhangi bir işlem yapmadan önce server'ın kuruluşunuza ait olduğunu ve üzerinde server:write izninizin olduğunu kontrol eder.
Bir server'ı tarayın
Salt okunur. Server'ın Docker'ını — Compose stack'leri ve elle çalıştırılan container'lar dahil — listeler,
disk üzerinde bulunan Compose dosyalarıyla eşleştirir ve wizard'ın önizlemesi için bulunan stack'i döndürür. Server üzerinde hiçbir şey değişmez.
POST /api/migration/scanProp
Type
curl -X POST https://your-host/api/migration/scan \
-H "Authorization: Bearer $ALAFSERVER_TOKEN" \
-H "Content-Type: application/json" \
-d '{"serverId":"srv_123"}'Başarılı olduğunda yanıt { "success": true, "stack": … } şeklindedir, burada stack, bulunan ve benimsenebilecek Compose stack'lerini ve container'larını açıklar.
Bulunan servisleri benimseyin
Seçtiğiniz servislerden bir Alaf Server services projesi oluşturur. Server, server tarafında yeniden keşfedilir
(server, gerçeğin kaynağıdır, client tarafından gönderilen config değil) ve mevcut adlandırılmış volume'ler
yerinde yeniden kullanılır — bu yalnızca projeyi kaydeder; deploy ve cutover ayrı adımlardır.
POST /api/migration/adoptProp
Type
curl -X POST https://your-host/api/migration/adopt \
-H "Authorization: Bearer $ALAFSERVER_TOKEN" \
-H "Content-Type: application/json" \
-d '{"serverId":"srv_123","projectName":"legacy-stack","serviceNames":["web","worker"]}'Başarılı olduğunda yanıt, oluşturulan projenin detaylarıyla birlikte { "success": true, … } şeklindedir.
Karşılaşabileceğiniz hatalar
400 — eksik veya boş alan
Her iki rotada da serverId gereklidir; adopt ayrıca boş olmayan bir projectName ve serviceNames içinde en az
bir giriş gerektirir. Yanıt gövdesi eksik alanı belirtir.
404 — server bulunamadı
serverId kuruluşunuza ait değil (veya mevcut değil). Geçerli ID'leri almak için server'larınızı
alaf server server list ile listeleyin. Bir cloud instance'ında modül hiç yüklenmez,
bu nedenle buradaki her yol 404 döndürür.
502 — tarama veya benimseme başarısız oldu
Alaf Server, server'ın Docker'ına ulaşamadı veya inceleyemedi (SSH erişilemez, Docker çalışmıyor, izin reddedildi) veya benimseme başarısız oldu. Mesaj, temel nedeni içerir. Server'ın çevrimiçi ve Docker'ının erişilebilir olduğunu doğrulayın, ardından tekrar deneyin.
Health API
Yük dengeleyiciler, Docker sağlık kontrolleri ve bir örneğin nasıl yapılandırıldığını keşfeden istemciler için herkese açık liveness ve deployment-info probları.
Mail API
SSH üzerinden bir iRedMail yığını kurun ve benimseyin, posta yönetici panelini çalıştırın (alan adları, posta kutuları, istatistikler, yedeklemeler, DNS, bileşenler) ve webmail'i deploy edin.