VPS monitoring and logging #18

Open
opened 2026-04-19 07:23:31 +00:00 by forgejo-lila · 0 comments
Owner

Context

The VPS (Hetzner, Debian 13, ARM64) has no monitoring or centralized logging. If a service goes down or the server is compromised, there's no alert.

What to do

Set up basic monitoring and logging. Two concerns:

  1. Security monitoring: detect unauthorized access or rootkits.
  2. Service monitoring: know when containers are down or unhealthy.

Options to evaluate

  • Security: chkrootkit or rkhunter for rootkit detection.
  • Logs: logwatch for daily log summaries via email. Or monit for process monitoring with alerts.
  • Uptime: a simple external service (e.g. UptimeRobot free tier) pinging https://lilastudy.com and https://api.lilastudy.com/api/v1/health.
  • Container health: docker compose ps in a cron job, alert if any container is not healthy.

Acceptance criteria

  • Daily summary of VPS activity is available (email or log file)
  • Alert mechanism if the app goes down (at minimum: external uptime check)
  • Security scan runs periodically

Notes

Current VPS setup: SSH key auth, ufw (ports 22, 80, 443, 2222), fail2ban. Docker Compose stack with Caddy, API, web, Postgres, Forgejo, CI runner. See documentation/deployment.md for full details.

## Context The VPS (Hetzner, Debian 13, ARM64) has no monitoring or centralized logging. If a service goes down or the server is compromised, there's no alert. ## What to do Set up basic monitoring and logging. Two concerns: 1. **Security monitoring**: detect unauthorized access or rootkits. 2. **Service monitoring**: know when containers are down or unhealthy. ## Options to evaluate - Security: `chkrootkit` or `rkhunter` for rootkit detection. - Logs: `logwatch` for daily log summaries via email. Or `monit` for process monitoring with alerts. - Uptime: a simple external service (e.g. UptimeRobot free tier) pinging `https://lilastudy.com` and `https://api.lilastudy.com/api/v1/health`. - Container health: `docker compose ps` in a cron job, alert if any container is not healthy. ## Acceptance criteria - Daily summary of VPS activity is available (email or log file) - Alert mechanism if the app goes down (at minimum: external uptime check) - Security scan runs periodically ## Notes Current VPS setup: SSH key auth, ufw (ports 22, 80, 443, 2222), fail2ban. Docker Compose stack with Caddy, API, web, Postgres, Forgejo, CI runner. See `documentation/deployment.md` for full details.
forgejo-lila added the
infra
label 2026-04-19 07:23:31 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: forgejo-lila/lila#18
No description provided.