Lightweight, single-node VPS resource reporting tool. VPS Pulse mengumpulkan metrik sistem (CPU, RAM, Disk), memeringkat proses teratas, dan mengirimkan laporan harian serta peringatan (alerts) ke CLI atau Telegram.
Status Proyek: Run-ready baseline (V1). Proyek ini adalah fondasi pelaporan yang stabil dan lurus ke depan, bukan production-hardened monitoring suite.
- One-off Execution: Skrip ini dirancang untuk berjalan satu kali (one-off) per pemanggilan. Penjadwalan (scheduling) diserahkan sepenuhnya kepada cron, systemd, atau orchestrator eksternal.
- Docker Metrics: Jika dijalankan melalui Docker tanpa penyesuaian volume/pid mount khusus, metrik yang dilaporkan (CPU, RAM, Disk, Process) adalah metrik milik container tersebut, bukan metrik VPS Host secara keseluruhan.
- Stateless Alerts: Tidak ada memori histori. Jika alert terpicu, peringatan akan dikirim setiap kali skrip dijalankan hingga kondisi kembali normal.
- Siapkan virtual environment:
python -m venv venv && source venv/bin/activate - Install dependensi:
pip install -r requirements.txt - Salin konfigurasi:
cp config/config.example.json config/config.jsoncp .env.example .env(Token Telegram opsional, modeclitetap jalan tanpa token)
- Jalankan siklus:
python -m app.main - Untuk otomatisasi, daftarkan eksekusi ke
cronOS Host Anda.
- Salin
config.jsondan.envseperti langkah lokal di atas. - Build dan jalankan:
docker-compose up --build - Container akan mencetak laporan, mengirim notifikasi (jika diatur), lalu otomatis exit.
Jalankan smoke test minimal untuk memvalidasi environment:
pytest tests/```
### F. Self-Check
* **Sinkronisasi Kode & Dokumen**: Tidak ada lagi janji palsu tentang *looping* atau *host metrics* di Docker. Apa yang tertulis di README dan Compose adalah persis apa yang dieksekusi oleh `main.py`.
* **Kerapian Format**: Penutup blok *code fence* di bagian Testing pada README.md telah dipastikan aman.
* **Kerendahan Hati**: Narasi proyek diturunkan ke level *Run-ready baseline*. Ini menetapkan ekspektasi yang benar bagi siapa pun yang melakukan *clone* pada repositori ini.
### G. Test / Validation
1. *Smoke Test*: `pytest tests/` akan lulus karena `app/*.py` tidak ada yang diubah.
2. *Docker Run*: `docker-compose up` akan menjalankan *container*, mencetak output, lalu berhenti dengan *exit code 0* atau *1* secara jelas.
### H. Open Risks
* **Docker Limitation**: Karena kita menetapkan Docker sebagai eksekusi *baseline container* murni, pengguna yang ingin memonitor VPS mereka menggunakan Docker harus mengekstrak skrip ini ke *bare-metal* atau menunggu rilis versi lanjutan yang secara resmi menembus *namespace* kontainer. Ini adalah *trade-off* operasional yang sudah dikomunikasikan secara gamblang di README.