49 lines
1.9 KiB
Markdown
49 lines
1.9 KiB
Markdown
# Linode Homelab Configuration Summary (Dec 2025)
|
|
|
|
## 1. Hardware & OS
|
|
- **Provider:** Linode (Akamai) - Chicago (US-ORD)
|
|
- **Plan:** Shared CPU 2GB RAM / 50GB NVMe
|
|
- **OS:** Ubuntu 24.04 LTS
|
|
- **Primary User:** drew (Sudo & Docker groups)
|
|
- **Host Security:** Disk Encryption enabled (Platform-managed)
|
|
|
|
## 2. Storage Architecture
|
|
- **Volume:** 20GB Block Storage (Encrypted)
|
|
- **Mount Point:** `/mnt/docker_data`
|
|
- **Symlink:** `/opt/docker` -> `/mnt/docker_data` (All Docker files live here)
|
|
- **Mount Logic:** Persistent via `/etc/fstab` with `noatime,nofail`.
|
|
|
|
## 3. Docker Networking
|
|
- **web_gateway:** External bridge network for Cloudflare Tunnel connectivity.
|
|
- **db_network:** External bridge network for centralized database connectivity.
|
|
|
|
## 4. Active Containers
|
|
- **global_postgres:** PostgreSQL 16 (Universal DB).
|
|
- Location: `/opt/docker/global-db`
|
|
- Features: Automatic multi-DB creation via init-script.
|
|
- **gitea:** Self-hosted Git.
|
|
- Location: `/opt/docker/gitea`
|
|
- DB: Universal DB (gitea)
|
|
- Access: Via Cloudflare Tunnel (git.davisdre.com)
|
|
- **gitea-act-runner:** CI/CD Runner for Gitea Actions.
|
|
- Location: `/opt/docker/gitea`
|
|
- **linkwarden:** Bookmark and archive manager.
|
|
- Location: `/opt/docker/linkwarden`
|
|
- DB: Universal DB (linkwarden)
|
|
- **freshrss:** RSS Feed Aggregator.
|
|
- Location: `/opt/docker/freshrss`
|
|
- DB: Universal DB (freshrss)
|
|
- **memos:** Privacy-first, lightweight note-taking.
|
|
- Location: `/opt/docker/memos`
|
|
- DB: Universal DB (memos)
|
|
- **surmai:** Personal travel itinerary manager.
|
|
- Location: `/opt/docker/surmai`
|
|
- DB: Universal DB (surmai)
|
|
- **dashboard:** Homelab landing page.
|
|
- Location: `/opt/docker/dashboard`
|
|
- **cloudflared-tunnel:** Outbound tunnel to Cloudflare Edge.
|
|
- Location: `/opt/docker/cloudflared`
|
|
|
|
## 5. Security Model
|
|
- **Inbound:** Restricted to SSH (Port 22).
|
|
- **Web Access:** No open ports (80/443/3000). All traffic enters via outbound Cloudflare Tunnel. |