No description
- HTML 100%
| .forgejo/workflows | ||
| monitoring/prometheus | ||
| traefik | ||
| .env.example | ||
| .gitignore | ||
| docker-compose.yml | ||
| index.html | ||
| README.md | ||
| RECOVERY.md | ||
VPS Infrastructure
Backup konfigurasi infrastruktur VPS untuk devops-lab.
Stack
- Traefik v3.7 - Reverse proxy dengan Let's Encrypt
- Forgejo v15 - Git server (GitHub-compatible)
- Actions Runner v12 - CI/CD runner
- Uptime Kuma v2 - Monitoring & alerting
Struktur Folder
vps-infra/
├── docker-compose.yml # Main compose file
├── .env # Environment variables (JANGAN COMMIT!)
├── traefik/
│ ├── traefik.yml # Traefik config
│ └── acme.json # Let's Encrypt certificates (auto-generated)
├── forgejo/ # Forgejo config (excluded from git)
├── actions-runner/ # CI runner config
└── uptime-kuma/ # Monitoring config
Setup Ulang
-
Clone repo ini:
git clone git@github.com:luqmanulh/vps-infra.git cd vps-infra -
Copy .env.example ke .env dan edit:
cp .env.example .env vim .env # Edit dengan values yang sesuai -
Start semua services:
docker compose up -d -
Verify:
docker compose ps
Security Notes
- SSH hardening: deploy user restricted dengan command wrapper
- Traefik auto-renew Let's Encrypt certificates
- Services isolated di Docker network terpisah
.envfile JANGAN di-commit ke git!
Backup & Restore
Backup Config
tar -czf vps-infra-backup.tar.gz \
--exclude='forgejo/data' \
--exclude='forgejo/log' \
--exclude='actions-runner/data' \
--exclude='uptime-kuma/data' \
vps-infra/
Restore
tar -xzf vps-infra-backup.tar.gz
cd vps-infra
docker compose up -d
Maintenance
Update Services
docker compose pull
docker compose up -d --force-recreate
View Logs
docker compose logs -f traefik
docker compose logs -f forgejo
docker compose logs -f actions-runner
Restart Service
docker compose restart traefik
Changelog
2026-06-11
- Refactor Traefik config: Migrate Let's Encrypt email dari hardcoded di
traefik.ymlke env variableLETSENCRYPT_EMAILdidocker-compose.yml - Centralize sensitive config: Semua sensitive data sekarang di
.envfile, tidak ada lagi hardcoded values di config files - Security improvement: Email tidak lagi exposed di version control
2026-06-08
- Initial backup setup
- Configure SSH deployment dengan deploy user
- Setup CI/CD pipeline dengan Forgejo Actions