dashy dashboard

Android’i Mini Bir Sunucuya Dönüştürmek: Termux Üzerinde Dashy ve CloudCmd Kurulum Rehberi

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.

  1. Tarayıcınızdan Dosya Yöneticisine girin: http://[TELEFON-IP-ADRESINIZ]:8000
  2. dashy/public/conf.yml dosyasını bulun ve sağ tıklayarak dahili metin editörüyle açın.
  3. 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"
  1. 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

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir