Skip to content

nz404/shorekeeper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ Shorekeeper Project

AI Homelab Infrastructure Assistant

Berbasis karakter Shorekeeper dari Wuthering Waves

Node.js TypeScript PM2 MariaDB Groq Telegram

Shorekeeper Preview
"The silent guardian of your infrastructure, weaving safety within the flow of data."


📖 Overview

Shorekeeper (SK) adalah AI asisten infrastruktur pribadi yang berjalan sebagai Telegram bot sekaligus web dashboard. SK memantau, menganalisis, dan membantu mengelola server secara real-time.

✨ Fitur Utama

  • Monitoring CPU, RAM, Disk via SSH dengan alert otomatis
  • Proxmox: lihat status VM/LXC, start/stop/reboot
  • Docker: list container, start/stop/restart, lihat log
  • Ping monitor HTTP dan IP dengan notifikasi up/down
  • Auto-fix untuk beberapa kasus masalah umum
  • Laporan otomatis pagi & malam berbasis AI (Groq)
  • Reminder dan notes (tag, pencarian)
  • Uptime history dan grafik downtime
  • Web dashboard dengan Live2D, chat AI, quick action, command
  • Command chat (WEB CHAT): /ping /ssh /docker /proxmox /laporan /help

⚙️ Requirements

  • Node.js 18.x LTS atau lebih baru
  • PM2 global (npm install -g pm2)
  • MariaDB 10.6+ / MySQL 8+
  • TypeScript 5.x (dev dependency)

Catatan: Panduan install ini baru diuji di Debian 12. OS/distro lain mungkin memerlukan penyesuaian paket dan path.


🚀 Instalasi & Jalankan (Step-by-step)

  1. Clone repo
git clone https://github.com/nz404/shorekeeper.git /opt/shorekeeper
cd /opt/shorekeeper
  1. Install dependensi
npm install
  1. Install MariaDB (jika belum terpasang)
sudo apt update && sudo apt install -y mariadb-server
sudo systemctl enable --now mariadb
  1. Copy dan edit .env
cp .env.example .env
# Atur nilai di .env sesuai environment Anda
  1. Buat database (via MySQL/MariaDB CLI)
# Masuk ke MySQL sebagai root (atau user admin lain)
mysql -u root -p

# setelah login, jalankan perintah SQL ini:
CREATE DATABASE shorekeeper_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'shorekeeper'@'localhost' IDENTIFIED BY 'password_kuat';
GRANT ALL PRIVILEGES ON shorekeeper_db.* TO 'shorekeeper'@'localhost';
FLUSH PRIVILEGES;
EXIT;
  1. Build TypeScript
npm run build
  1. Jalankan PM2
mkdir -p /opt/shorekeeper/logs
pm2 start ecosystem.config.js
pm2 save
pm2 startup
  1. Cek status
pm2 status
pm2 logs shorekeeper

🗄️ Menambahkan Proxmox untuk di Monitor

Di versi ini, setup Proxmox sudah ada di menu Telegram dan web dashboard.

  1. Buka Telegram bot Shorekeeper, kirim /start.
  2. Pilih menu Proxmox lalu ikuti langkah konfigurasinya (host, port, user, token/API key).
  3. Atau buka web dashboard, login sebagai admin, dan pilih Proxmox di menu.
  4. Restart Shorekeeper hanya jika ada setting yang mengharuskan reload layanan.

📌 PM2 Quick Commands

  • pm2 start ecosystem.config.js
  • pm2 stop shorekeeper
  • pm2 restart shorekeeper
  • pm2 reload shorekeeper
  • pm2 logs shorekeeper
  • pm2 monit

💬 Contoh Command Web Chat

  • /help
  • /ping
  • /proxmox
  • /ssh
  • /ssh [alias] [cmd]
  • /docker [alias]
  • /laporan

Shorekeeper Project - Developed by Nz404

About

Homelab Infrastructure Asistant

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors