sis.

DENEYSEL GELİŞTİRME AĞI · BELGELER

Ubuntu VPS kurulumu

İ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.