5.5 KiB
Quick Comparison Reference
Quick reference for alternatives we researched. See ALTERNATIVES_CONSIDERED.md for detailed analysis.
Git Server: Gitea vs Forgejo
| Factor | Gitea ✅ | Forgejo |
|---|---|---|
| CapRover Support | ✅ One-click app | ❌ Manual setup required |
| Setup Time | ⚡ 5 minutes | ⏱️ 15-30 minutes |
| Security Practices | ⚠️ Adequate (corporate) | ✅ Excellent (community) |
| Development Activity | 153 contributors, 1.2K commits | 232 contributors, 3K commits |
| Governance | Corporate (Gitea Limited) | Non-profit (Codeberg e.V.) |
| Community Size | Larger | Smaller |
| Version | 1.21.1 | 10.0 (Jan 2025) |
| For Personal Use | ✅ Perfect | ⚠️ Overkill |
Winner for our use case: Gitea (easier setup via CapRover)
When to reconsider Forgejo:
- Hosting sensitive code
- Security transparency matters
- Don't mind manual Docker setup
Container Management Platform
| Feature | CapRover ✅ | Portainer | Dockge | Coolify |
|---|---|---|---|---|
| One-click apps | ✅ 200+ | ⚠️ Limited | ❌ None | ✅ Some |
| Built-in reverse proxy | ✅ Yes | ❌ No | ❌ No | ✅ Yes |
| Automatic SSL | ✅ Yes | ❌ No | ❌ No | ✅ Yes |
| Git deployments | ✅ Yes | ❌ No | ❌ No | ✅ Yes |
| Granular control | ⚠️ Limited | ✅ Full | ✅ Good | ⚠️ Limited |
| Learning curve | 🟢 Easy | 🟡 Medium | 🟢 Easy | 🟡 Medium |
| Resource usage | 🟢 ~300MB | 🟡 ~100MB | 🟢 ~100MB | 🔴 ~500MB+ |
| Maturity | 🟢 Stable | 🟢 Very stable | 🟡 Newer | 🟡 Active dev |
| TrueNAS-like experience | ✅ Yes | ❌ No | ❌ No | ✅ Yes |
Winner: CapRover (best for "app store" experience)
Container Runtime: Docker vs Podman
| Factor | Docker ✅ | Podman |
|---|---|---|
| CapRover Compatible | ✅ Yes (required) | ❌ No (missing Swarm) |
| Security Model | Root daemon (can use rootless mode) | Rootless by default |
| GUI Support | ✅ Excellent (CapRover, Portainer, etc.) | ⚠️ Limited |
| Ecosystem | 🟢 Massive | 🟡 Growing |
| For This Project | ✅ Required | ❌ Won't work |
Winner: Docker (CapRover requires Docker Swarm)
Note: Podman explicitly won't implement Swarm. CapRover = Docker only.
Reverse Proxy
| Feature | CapRover Built-in ✅ | Traefik | Caddy | Nginx Proxy Manager |
|---|---|---|---|---|
| Integration | ✅ Built-in | ❌ Separate | ❌ Separate | ❌ Separate |
| Auto SSL | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes (via GUI) |
| Auto Config | ✅ Per app deploy | ⚠️ Via labels | ⚠️ Manual | ⚠️ GUI but manual |
| Learning Curve | 🟢 None (automatic) | 🔴 Steep | 🟡 Medium | 🟢 Easy (GUI) |
| Setup Time | ⚡ 0 min (included) | ⏱️ 30+ min | ⏱️ 15+ min | ⏱️ 20+ min |
Winner: CapRover's built-in proxy (zero setup, automatic)
Domain Strategy
| Option | Cloudflare ✅ | DuckDNS | Tailscale |
|---|---|---|---|
| Cost | Free (user already has) | Free | Free (personal) |
| Domain Type | Custom domain | yourname.duckdns.org | Private network IPs |
| Professional | ✅ Yes | ⚠️ Subdomain only | ❌ Not public |
| Public Access | ✅ Yes | ✅ Yes | ❌ VPN only |
| Setup | Simple DNS records | Very simple | Install on all devices |
Winner: Cloudflare (user already has domain)
Architecture Patterns
| Pattern | Single VM ✅ | Multi-VM | Kubernetes (K3s) |
|---|---|---|---|
| Complexity | 🟢 Simple | 🟡 Medium | 🔴 High |
| Setup Time | ⚡ 3-4 hours | ⏱️ 6-8 hours | ⏱️ Days |
| Maintenance | 🟢 Easy | 🟡 Medium | 🔴 Complex |
| Resource Overhead | 🟢 Low (~1GB) | 🟡 Medium | 🔴 High (>2GB) |
| For Personal Use | ✅ Perfect | ⚠️ Overkill | ❌ Way overkill |
Winner: Single ARM VM (simple, sufficient, efficient)
Final Stack Summary
Our chosen stack:
Infrastructure: Oracle Cloud Free Tier (ARM VM: 4 cores, 24GB RAM)
OS: Ubuntu 22.04 LTS ARM64
Runtime: Docker Engine
Platform: CapRover (PaaS with one-click apps)
Git Server: Gitea (one-click deploy)
Code Editor: code-server (one-click deploy)
AI Assistant: Claude Code (VS Code extension)
Reverse Proxy: CapRover's built-in Nginx
SSL: Let's Encrypt (automatic via CapRover)
DNS: Cloudflare (existing domain)
Total setup time: ~3-4 hours Monthly cost: $0 Resource usage: ~1GB RAM, ~10GB storage (23GB RAM and 190GB storage remaining)
Why This Stack Wins
- Fastest time to value: One-click deployments vs manual Docker setup
- Lowest cognitive load: CapRover handles proxy, SSL, routing automatically
- Best UX: TrueNAS-like app store experience (what user wanted)
- iPad optimized: code-server has proven PWA support
- Zero cost: Stays within Oracle Free Tier
- Adequate security: Good enough for personal knowledge repository
- Easy maintenance: CapRover handles updates, SSL renewals
- Room to grow: 23GB RAM for additional apps via one-click marketplace
Result: iPad development environment with Claude Code in ~3-4 hours instead of days/weeks with alternatives.
See ALTERNATIVES_CONSIDERED.md for detailed analysis of each alternative.