core/backend/modules/services/README.md
enzo 5dbcb1df07 feat: initialisation complète du CORE ProxmoxPanel
Backend Go 1.23+ :
- API REST + WebSocket (chi, gorilla/websocket)
- Authentification PAM via SSH + JWT RS256
- Chiffrement AES-256-GCM pour secrets SQLite
- Pool SSH, client Proxmox REST, hub WebSocket pub/sub
- Système de modules compilés à initialisation conditionnelle
- Audit log, migrations SQLite versionnées

Frontend Vue 3 + Vite + TypeScript :
- Thème Neumorphism sombre/clair (CSS custom properties)
- Wizard d'installation, Dashboard drag-drop, Terminal xterm.js
- Toutes les vues CORE + stubs modules optionnels
- i18n EN/FR (vue-i18n v11)

Infrastructure :
- Docker multi-stage (Go → alpine, Node → nginx)
- docker-compose.yml, .gitattributes, LICENSE MIT, README

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 21:08:53 +01:00

1.6 KiB

Module — Services

Type: Optional (disabled by default)

Manage systemd services on the Proxmox host and LXC containers. Check status, start, stop, and restart services directly from the web interface.

Planned Features

  • List systemd services with current status (active/inactive/failed)
  • Start, stop, restart, reload actions
  • View service logs (last N lines via journalctl -u <service>)
  • Filter by status or name
  • LXC service management via pct exec

Planned API Endpoints

Method Path Auth Description
GET /api/services JWT List services and their status
POST /api/services/{name}/start JWT+Admin Start a service
POST /api/services/{name}/stop JWT+Admin Stop a service
POST /api/services/{name}/restart JWT+Admin Restart a service
POST /api/services/{name}/reload JWT+Admin Reload a service
GET /api/services/{name}/logs JWT Last 100 log lines

Query parameter: host=<optional> to target a specific LXC.

How It Works

Commands are executed over SSH using systemctl:

systemctl status nginx
systemctl restart nginx
journalctl -u nginx -n 100 --no-pager

For LXC containers:

pct exec <vmid> -- systemctl restart nginx

Status

This module is currently a stub. The UI view is implemented (shows a "module not enabled" placeholder). Full implementation is planned for a future release.

Requirements

  • SSH access with sufficient privileges to run systemctl commands
  • systemd on the target host/containers

License

MIT — see LICENSE