Eski veya boşa çıkmış bir Android telefonu, arka planda sürekli çalışan (headless) bir mini sunucuya dönüştürmek, Raspberry Pi gibi donanımların bütçe zorladığı günümüzde harika bir alternatiftir. Ancak Android mimarisi üzerinde Docker çalıştırmak hem RAM tüketimi hem de çekirdek (kernel) sınırları nedeniyle oldukça sancılıdır.
Bu rehberde, Docker kullanmadan, tamamen Node.js ve PM2 süreç yöneticisi altyapısıyla Android telefonunuzda nasıl hafif bir Dashy yönetim paneli ve Cloud Commander dosya yöneticisi kuracağınızı adım adım inceleyeceğiz.
Gereksinimler & Hazırlık
Kuruluma başlamadan önce telefonunuzda Termux uygulamasının güncel bir sürümünün (mümkünse F-Droid üzerinden) kurulu olduğundan ve bilgisayarınızdan SSH ile telefona bağlı olduğunuzdan emin olun.
İlk olarak Termux depolarını güncelleyelim ve sunucu omurgasını oluşturacak temel paketleri (Node.js ve Git) yükleyelim:
Bash
# Paket listesini güncelle ve mevcut paketleri yükselt
pkg update && pkg upgrade -y
# Gerekli paketleri kur
pkg install nodejs git -y
1. Bölüm: Dashy (Dashboard) Kurulumu
Dashy, tüm yerel servislerinizi, linklerinizi ve sunucu durumunuzu tek bir ekrandan izlemenizi sağlayan oldukça şık ve özelleştirilebilir bir paneldir.
Adım 1: Dashy Kodlarını İndirme
Dashy deposunu doğrudan GitHub üzerinden ana dizinimize klonluyoruz:
Bash
cd ~
git clone https://github.com/Lissy93/dashy.git --depth=1
cd dashy
Adım 2: Bağımlılıkların Yüklenmesi
Proje klasörünün içinde Node.js bağımlılıklarını yüklüyoruz. Bu işlem cihazınızın performansına göre birkaç dakika sürebilir:
Bash
npm install
Adım 3: PM2 ile Arka Planda Çalıştırma (Ölümsüzleştirme)
Eğer Dashy’yi standart npm run dev komutuyla başlatırsanız, SSH bağlantınızı kapattığınızda sunucu da kapanır. Bunu engellemek ve arka planda 7/24 çalışmasını sağlamak için PM2 süreç yöneticisini kullanacağız:
Bash
# PM2'yu küresel olarak kur
npm install -g pm2
# Dashy'yi Vite kütüphanesi üzerinden 4000 portuna sabitleyerek başlat
pm2 start ./node_modules/vite/bin/vite.js --name "dashy-panel" -- --host 0.0.0.0 --port 4000
# PM2 listesini kaydet (Telefon yeniden başlasa bile otomatik açılması için)
pm2 save
Artık tarayıcınızdan http://[TELEFON-IP-ADRESINIZ]:4000 adresine giderek Dashy paneline erişebilirsiniz.
2. Bölüm: Örnek Uygulama: Cloud Commander (CloudCmd) Kurulumu
Telefonu tamamen başsız (headless) bir sunucu olarak kullandığımız için, telefonun dosya sistemine bilgisayarımızın tarayıcısından kolayca erişebilmek adına çift pencereli ve web tabanlı bir dosya yöneticisi olan Cloud Commander‘ı kuruyoruz.
Adım 1: CloudCmd Kurulumu
Node.js sayesinde CloudCmd’yi küresel bir paket olarak tek komutla kurabiliyoruz:
Bash
npm install cloudcmd -g
Adım 2: PM2 ile 8000 Portunda Başlatma
Uygulamanın Termux ana dizinine (~) odaklanmasını ve 8000 portundan yayın yapmasını sağlayarak PM2’ya devrediyoruz:
Bash
pm2 start "cloudcmd --port 8000 --root ~" --name "dosya-yoneticisi"
# Güncel listeyi kaydet
pm2 save
Artık http://[TELEFON-IP-ADRESINIZ]:8000 adresinden telefonunuzun içindeki tüm kod dosyalarına erişebilir, tarayıcı üzerinden dosyaları düzenleyebilir veya bilgisayarınızdan sürükle-bırak yöntemiyle telefona dosya yükleyebilirsiniz.
3. Bölüm: Servisleri Dashy Panelinde Birleştirme
Her iki servisimiz de şu an bağımsız portlarda çalışıyor. Şimdi CloudCmd’yi Dashy paneline bir buton olarak ekleyelim. YAML dosyaları boşluklara duyarlı olduğu için bu işlemi az önce kurduğumuz Cloud Commander üzerinden yapmak çok daha pratiktir.
- Tarayıcınızdan Dosya Yöneticisine girin:
http://[TELEFON-IP-ADRESINIZ]:8000 dashy/public/conf.ymldosyasını bulun ve sağ tıklayarak dahili metin editörüyle açın.- Dosyadaki
sections:bloğunu bulun ve aşağıdaki şekilde güncelleyin (IP adresini kendinize göre düzenleyin):
YAML
sections:
- name: "Yerel Servisler"
icon: "fa-solid:server"
items:
- name: "Dosya Yöneticisi"
description: "Termux Dosya Sistemi (CloudCmd)"
url: "http://[TELEFON-IP-ADRESINIZ]:8000"
icon: "vscode-icons:folder-type-binary"
- Dosyayı kaydedin (
Ctrl + S).
Sonuç ve Durum Kontrolü
SSH terminalinize dönüp pm2 list yazdığınızda, her iki servisin de yeşil renkte ve online modda sorunsuz çalıştığını göreceksiniz:
Bash
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬────────┐
│ id │ name │ mode │ status │ cpu │ memory │
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼────────┤
│ 0 │ dashy-panel │ fork │ online │ 0% │ 65.2mb │
│ 1 │ dosya-yoneticisi │ fork │ online │ 0% │ 34.1mb │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴────────┘
Tebrikler! Artık Android işletim sisteminin agresif RAM kısıtlamalarına (Low Memory Killer) takılmayan, Docker’ın getirdiği işlem yükünden uzak, tamamen tarayıcınız üzerinden yönetebileceğiniz ultra hafif bir mini ev sunucusuna sahipsiniz. Yeni uygulamalar kurdukça aynı yöntemle PM2’ya ekleyebilir ve Dashy konfigürasyonunuza dahil edebilirsiniz.
Örnek 1: Dashy Dashboard

Örnek 2: Dashy Dashboard

Örnek 3: Cloud CMD yani Cloud Commander


Bir yanıt yazın