# 🚀 Dokumentasi Infrastruktur VPS Cloud Pribadi

**Pemilik:** Yolando (Ando)
**Terakhir Diperbarui:** Maret 2026
**Status:** 🟢 Aktif & Berjalan

---

## 💻 1. Spesifikasi Server (Hardware & OS)
- **Sistem Operasi:** Ubuntu 20.04.6 LTS (Focal Fossa)
- **Prosesor (CPU):** AMD EPYC (4 Cores)
- **Memori (RAM):** 16 GB
- **Manajemen Jaringan:** UFW (Uncomplicated Firewall) aktif (Port yang dibuka: 80, 443, 22, 2222 untuk Git SSH)

---

## 🏗️ 2. Infrastruktur Inti (Core)
Semua layanan berjalan di atas teknologi kontainerisasi untuk isolasi dan efisiensi.

| Layanan | Fungsi Utama | Akses / Keterangan |
| :--- | :--- | :--- |
| **Docker & Docker Compose** | Mesin kontainerisasi utama. | `docker compose up -d` |
| **Portainer** | GUI Manajemen Kontainer Docker. | Mode Web UI |
| **Nginx Proxy Manager (NPM)**| *Reverse proxy* & Manajemen SSL (Let's Encrypt). | Pintu masuk utama (Port 80/443) |

---

## 🛠️ 3. Katalog Layanan (Services Stack)

### A. DevOps & CI/CD
| Layanan | Fungsi | Subdomain / Port |
| :--- | :--- | :--- |
| **Jenkins** | Mesin Otomatisasi Build (CI/CD Pipeline). | Terintegrasi via NPM |

### B. Database & Storage
| Layanan | Fungsi | Subdomain / Keterangan |
| :--- | :--- | :--- |
| **Oracle DB** | Database relasional utama. | Akses via SSH Tunnel (OLVM) |
| **PostgreSQL** | Database internal khusus untuk Gitea. | `gitea-db:5432` (Terisolasi 100%) |
| **Redis** | *In-memory data store* / *Cache*. | Jaringan Internal + Access List |
| **MinIO (Console)** | Dasbor Web S3 Cloud Storage Pribadi. | `storage.ando-vps.duckdns.org` |
| **MinIO (API)** | S3 Endpoint untuk *upload* via kode (Golang/Java).| `s3.ando-vps.duckdns.org` |

### C. Observability (Monitoring & Logging)
*Stack ini menggunakan jaringan khusus `kibana_elastic-net`.*

| Layanan | Fungsi | Keterangan |
| :--- | :--- | :--- |
| **APM Server** | Pelacak Performa Aplikasi (*Tracing*). | `apm.ando-vps.duckdns.org` (Port 8200) |
| **Uptime Kuma** | Monitoring *uptime* layanan (Ping/HTTP Status). | Memastikan semua *endpoints* hidup. |


## 🌐 4. Arsitektur Jaringan (Docker Networks)
Untuk alasan keamanan, layanan dikelompokkan dalam *virtual network* yang terpisah:
- `nginx-proxy-manager_default`: Jaringan *publik* yang diekspos ke internet via NPM.
- `gitea-net`: Jaringan *privat* untuk komunikasi Gitea & PostgreSQL.

---
