Geri Dön
Sunucum artık bir telefon: VPS yerine rootlanmış CMF Phone 1
SiTech Team2 წთ. საკითხავი

Sunucum artık bir telefon: VPS yerine rootlanmış CMF Phone 1

Bir self-hosting meraklısı, küçük Hetzner VPS'ini rootlanmış bir CMF Phone 1 ile değiştirdi: Termux, chroot içinde Debian ve Cloudflare Tunnel — tüm ödünleriyle birlikte.

Bir self-hosting meraklısı, çekmecede kullanılmadan duran bir telefonu küçük bir Hetzner VPS'inin yerine koydu. Ayrıntılı yazısında yazar, CMF Phone 1'i kişisel altyapısını çalıştıran makineye dönüştürme sürecini anlatıyor: uzaktan bir tarayıcı, finans takip uygulaması, ekran paylaşımı servisi ve birkaç küçük web uygulaması.

Neden telefon?

Geçiş bir maliyet sorunuyla başladı. VPS ucuzdu ama uzaktan tarayıcı projesi Surf'ün kullandığı Chrome gerçek iş yapmaya başladığında kaynak yetmiyordu; ayrılmış CPU'lu makineler bunu çözüyordu ama kişisel bir tarayıcı için fazla pahalıydı. Yeni bir makine toplamak ise kötü zamanlamaydı, çünkü DRAM fiyatları yüksekti. Eldeki telefonda ise sekiz ARM çekirdeği, 8 GB RAM, 128 GB flash, Wi-Fi 6, 5G modem ve küçük bir UPS gibi davranan dahili batarya var.

postmarketOS'tan Termux'a

İlk deneme — postmarketOS yüklemek — açılış ekranı ve siyah bir ekranla sonuçlandı; Wi-Fi, Bluetooth ve donanım hızlandırma bozuk olarak işaretliydi. Stok Nothing OS'i geri yüklemek Windows tabanlı bir araç gerektirdi; telefon bir noktada tamamen kilitlenmiş göründü. Ders: Android'de donanımın tamamı için çalışan sürücüler zaten var. İkinci denemede stok Android korundu ve Termux ana ortam olarak kullanıldı: OpenSSH, runit, Caddy, Cloudflared ve Tailscale, ayrıca yeniden başlatmadan sonra servisleri başlatan Termux:Boot. Ansible ile yönetilen bir Android profili wake lock kurar, light ve deep idle modlarını kapatır, gerekli uygulamaları arka plan kısıtlamalarından muaf tutar ve Wi-Fi ile her zaman açık Tailscale VPN'i çalışır tutar.

proot, sonra gerçek chroot

Linux ARM64 OCI imajları olarak gelen uygulamalar önce proot-distro altında çalıştı; bu çözüm ne root ne de özel bir çekirdek gerektirir, ama dosya ve süreç işlemlerini kullanıcı uzayında keser. Gecikmeye duyarlı tarayıcı iş yükü CPU'ya böyle verimli ulaşamıyordu, bu yüzden yazar Debian dosya sistemine gerçek chroot ile girmek için telefonu rootladı. İmajlar digest ile sabitleniyor, Ansible doğrulayıp kuruyor; küçük bir root yardımcısı özel bir mount namespace oluşturup yetkileri düşürüyor. Telefonda ne Docker ne de derleyici var.

Giriş trafiği, dolaşım ve sonuç

HTTP servisleri Cloudflare Tunnel üzerinden yayınlanıyor — bağlantı yalnızca dışa açılıyor, dolayısıyla yönlendiricide gelen kural gerekmiyor ve telefon başka bir ağa taşındığında tünel yeniden bağlanıyor. Kendi TLS'ini sonlandıran ve eski bir iPad tarafından sabitlenen uzaktan tarayıcı Surf, tünelden geçebilmek için TLS akışını sıradan bir WebSocket içine sarıyor; yazarın ölçümüne göre bu yaklaşık bir fazladan ağ gidiş-dönüşü ekliyor ve iPad bağlantısı ilk testte 60 ms civarındaydı. Yerel bir panel servisi CPU, bellek, depolama ve bataryayı dash.cmf adresinde LAN veya tailnet üzerinden gösteriyor. Yazarın değerlendirmesi: birkaç kişisel servis için, rootlanabilir bir ARM64 telefonunuz varsa bu fazlasıyla mantıklı — ama yeri doldurulamaz veriler için otomatik, cihaz dışı yedekleme olmadan değil.

SSiTech

SiTech — AI destekli web geliştirme

Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.