# 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`:

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

For LXC containers:

```bash
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](../../LICENSE)
