DENEYSEL GELİŞTİRME AĞI · BELGELER
Ubuntu VPS kurulumu
V2 kurulumu ve güncellemesi
deploy/private-dispatch.sh kaynak arşivini /tmp/sis-devnet-source.tar.gz içinden izole /opt/sis-private-devnet/releases/UTCSTAMP klasörüne açıp kaynak sınırlı build/test servisi başlatır. private-build.sh testler geçmeden binary değiştirmez; SQLite online backup alır, symlink'i atomik değiştirir ve v2 node'ları yeniden başlatır. Health check başarısızsa önceki binary'ye döner; DB sıfırlamaz. V1 ve mevcut projeler silinmez.
V2 servisleri sis-private@node-a, sis-private@node-b, sis-private-miner, sis-private-backup.timer; DB /var/lib/sis-private-devnet/node-a,b. Token root-only /etc/sis-private-devnet/node.env, node RPC loopback 18880/18881. Kullanıcı cüzdan anahtarları sunucuya yüklenmez. deploy/private-services.sh miner/backup, private-build-progress.sh build gözlemi, public-check.sh HTTPS/RPC sınırı ve private-restore-check.sh ayrı disposable DB/port ile yedekten node replay kontrolü yapar.
Site /var/www/sis-site/current; standalone nginx yalnız sis-kripto.conf içinde yönetilir. DNS kripto.voxen.tr, ACME webroot /var/www/sis-site/acme, TLS /etc/letsencrypt/live/sis-kripto. Mevcut certbot renew timer'ı sertifikayı yeniler ve nginx doğrulama/reload hook'u çalışır. site-http.sh güncellemelerde mevcut HTTPS'i korur. publish-clients.sh yalnız allowlist'teki geliştirme paketlerini ve hash manifestini açar. Ücretli alan adı/hosting alınmadı.
Build/start/backup işlemleri kullanıcıdan verilen SSH yetkisiyle yürütülür; şifreler dosya/source/loglara konmaz. Plesk/diğer nginx siteleri değiştirilmez. Build 80% tek çekirdek/2200M, node başına 40%/512M, miner 15%/128M sınırındadır; disk/log büyümesi ve paylaşılan VPS kaynakları izlenmelidir.
deploy/private-monitor.sh beş dakikalık salt okunur health timer kurar: node ağı/arz/peer, disk boşluğu, yedek yaşı ve TLS bitişi. Sonuç systemd journal'dadır; otomatik fon işlemi, servis değiştirme veya dışarı bildirim yapmaz.
V1 tarihsel referansı
İncelenen sunucu: Ubuntu 22.04.5 LTS, 4 vCPU Intel Xeon E5-2697 v2, 5921 MiB RAM, yaklaşık 4243 MiB available, 2 GiB swap, 64 GB kök disk ve yaklaşık 22 GB boş. Plesk/nginx/Apache/MariaDB ve mevcut uygulamalar çalışıyor. Docker/Rust ilk kontrolde PATH'te bulunmadı. UFW inactive, SSH root/parola erişimi açıktı. Bu tespitler 28 Ekim 2026 incelemesidir; mevcut güvenlik duvarı/SSH politikaları değiştirilmedi.
systemd seçildi: mevcut servislerden ayrı, Docker daemon kurulumu gerektirmiyor. /opt/sis-devnet yalnız bu proje içindir; mevcut yönetilmeyen dizin varsa dispatch durur. /var/lib/sis-devnet/node-a ve node-b ayrı DB; /etc/sis-devnet/node.env yalnız root'un okuyabildiği RPC token. Hizmetler sis-devnet kullanıcısıyla çalışır. Node başına 384 MiB RAM/tek çekirdeğin %35'i, miner 128 MiB/%20, build 1500 MiB/%80 ve bir cargo job. Bunlar toplam makine kapasitesinin yüzdesi değildir. Web/explorer node binary'sinde; ayrıca PostgreSQL/Node.js belleği tüketmez.
28 Ekim 2026 kurulumu tamamlandı: iki node, düşük CPU miner ve günlük backup timer aktif. Canlı senkronizasyon, yeniden başlatma ve SQLite yedek bütünlüğü kontrol edildi. Ölçümler ve release yolu PROGRESS.md'de. Tüm çalışma kapalı devnet'tir; halka açık mainnet başlatılmadı.
Kurulum akışı:
python scripts/package.py
# artifacts/sis-devnet-source.tar.gz dosyasını SSH/SFTP ile /tmp/sis-devnet-source.tar.gz olarak yükle
# deploy/dispatch.sh içeriğini yetkili SSH oturumunda çalıştır
scripts/remote.py HOST --fingerprint SHA256:... --script deploy/dispatch.sh --upload artifacts/sis-devnet-source.tar.gz parola için gizli prompt kullanır; paramiko proje içi .tools/python veya Python ortamında bulunmalı. SSH parolası dosyaya, argv'ye veya loga yazılmaz. Host fingerprint ilk temas TOFU kontrolünden sonra sabitlenmelidir. Bu yardımcının hedefi kullanıcının yetkili VPS'idir.
Dispatch kaynak derlemesini resource-limited transient unit sis-devnet-build ile başlatır. Aynı birim çalışıyorsa ikinci dispatch başarısız olur; mevcut veri silinmez. Release yolu UTC timestamp ile ayrılır. Build/test hatası kurulumdan önce durur; eski current değişmez. cargo test --release --locked, release build ve iki miner HTTP e2e testi geçmeden servis kurulmaz. Ubuntu'da cc, curl, tar, python3 ve openssl ön koşuldur; bu betik global paket güncellemesi yapmaz. Eksik paket varsa durur.
systemctl status sis-devnet-build
tail -50 /opt/sis-devnet/build.log
systemctl status sis-node@node-a sis-node@node-b
curl --fail http://127.0.0.1:18780/status
journalctl -u sis-node@node-a -u sis-node@node-b -u sis-miner --no-pager -n 50
Miner kurulsa da açık adres tanımlanmadan otomatik başlatılmaz. /etc/sis-devnet/miner.env içinde yalnız MINING_ADDRESS=sisdev1... açık adresi tutun. Ardından systemctl enable --now sis-miner. Gerçek private key/seed/vault'u sunucuya yüklemeyin. Devnet fixture adresinde parasal değeri olmayan test coinleri üretmek private testtir; mainnet/premine değildir.
Erişim, yerel terminalinizde:
ssh -N -L 18780:127.0.0.1:18780 -L 18781:127.0.0.1:18781 root@SUNUCU_IP
Tarayıcıda http://127.0.0.1:18780/explorer. RPC yalnız loopback'tir; firewall'da port açılmaz. Şifreleme SSH tarafından sağlanır. Alan adı/TLS sertifikası veya Plesk reverse proxy bu sürümde kurulmaz. Kamuya açık site için ayrılmış alan adı ve mevcut Plesk sertifika düzeni ayrıca değerlendirilecek; yönetim RPC'si proxy'ye verilmemeli.
Yedek: günlük sis-backup.timer, SQLite online backup, integrity_check, 0600, /opt/sis-devnet/backups. Eski yedekler otomatik silinmez; disk kullanımını izleyin. Yedekler aynı VPS'te olduğundan felaket kurtarma sağlamaz. Geri yüklemeden önce ilgili node/miner durdurulmalı, güncel dosyalar ayrı dizine taşınmalı ve matching network/schema doğrulanmalı; otomatik destructive restore yoktur.
Güncelleme aynı source package akışıyla yeni release kurar. previous-release korunur. bash /opt/sis-devnet/current/deploy/rollback.sh önceki binary'ye döner, DB'yi silmez/değiştirmez ve miner'ı kapalı bırakır. Şema migration otomasyonu henüz yoktur; gelecekte schema değişirse rollback ayrıca doğrulanmalı. Sağlık kontrolü başarısızsa log ve önceki release incelenir; otomatik rollback henüz yoktur.
Durdurma: systemctl stop sis-miner sis-node@node-a sis-node@node-b. Kalıcı devre dışı: aynı birimlerde disable; başka servisleri durdurmayın. Uzun dönem izleme, alarm gönderimi, log retention ve harici yedek henüz kurulmadı. Mainnet kurulumu veya otomatik mainnet başlatma bu betiklerde bulunmaz.