Oracle Cloud iPad Development Environment
Status: Ready to Build ✅ Last Updated: 2025-10-25
A cloud-based development environment accessible from iPad, hosted on Oracle Cloud Free Tier for $0/month.
📋 Quick Links
- IMPLEMENTATION_PLAN.md ⭐ Start here! Complete step-by-step build guide
- archive/ALTERNATIVES_CONSIDERED.md - Deep dive into alternatives we researched
- archive/QUICK_COMPARISON.md - Quick reference comparison tables
🎯 What We're Building
Your iPad
↓
git.yourdomain.com (Gitea)
- Browse your knowledge repository
- Web UI like GitHub
- Manage commits and branches
code.yourdomain.com (VS Code Server)
- Full VS Code in browser
- Claude Code AI assistant
- Edit files and commit to Gitea
- Installable as iPad PWA app
captain.yourdomain.com (CapRover)
- Manage all your apps
- One-click deploy new services
Monthly cost: $0 (Oracle Cloud Free Tier)
🏗️ Tech Stack (Final Decisions)
| Component | Choice | Why |
|---|---|---|
| Infrastructure | Oracle Cloud ARM VM (4 cores, 24GB RAM) | Free forever |
| Platform | CapRover | One-click apps, built-in proxy+SSL |
| Git Server | Gitea v1.21.1 | CapRover one-click, 5 min setup |
| Code Editor | code-server | VS Code in browser, iPad PWA support |
| AI Assistant | Claude Code extension | Integrates with code-server |
| Container Runtime | Docker Engine | Required by CapRover |
| DNS | Cloudflare | Your existing domain |
| SSL | Let's Encrypt (via CapRover) | Automatic, free, renewal handled |
Setup time: ~3-4 hours Resource usage: ~1GB RAM (23GB remaining for apps)
✨ Key Features
- ✅ Git Server - Gitea with GitHub-like web UI
- ✅ VS Code in Browser - code-server with Claude Code extension
- ✅ iPad PWA - Install code-server as native-like app on iPad
- ✅ Automatic HTTPS - Let's Encrypt SSL for all services
- ✅ One-click Apps - 200+ apps in CapRover marketplace
- ✅ Free Forever - Oracle Cloud Free Tier ($0/month)
🎨 Architecture
┌─────────────────────────────────────────────────────────────┐
│ Oracle Cloud - ARM VM (4 cores, 24GB RAM) │
│ Ubuntu 22.04 LTS ARM64 │
├─────────────────────────────────────────────────────────────┤
│ │
│ CapRover PaaS Platform (~300MB RAM) │
│ ├── captain.yourdomain.com │
│ │ └── CapRover dashboard │
│ │ │
│ ├── git.yourdomain.com │
│ │ └── Gitea (~200MB RAM) │
│ │ └── Your knowledge repository │
│ │ │
│ ├── code.yourdomain.com │
│ │ └── code-server (~500MB RAM) │
│ │ ├── Claude Code extension │
│ │ ├── VS Code in browser │
│ │ └── Clone repos from Gitea │
│ │ │
│ └── [Additional apps as needed] │
│ └── 200+ one-click apps available │
│ │
└─────────────────────────────────────────────────────────────┘
▲
│ HTTPS (Let's Encrypt SSL - automatic)
│
Internet / iPad
Resources:
- Base stack: ~1GB RAM, ~10GB storage
- Remaining: ~23GB RAM, ~190GB storage for apps
🚀 Getting Started
- Read the implementation plan: IMPLEMENTATION_PLAN.md
- Follow Phase 1-10 for complete setup
- Estimated time: 3-4 hours (including wait times)
Quick Phase Overview
- Phase 1: Oracle Cloud VM setup (1-2 hours)
- Phase 2: Install Docker (30 min)
- Phase 3: Configure DNS (10 min)
- Phase 4: Install CapRover (15 min)
- Phase 5: Deploy Gitea (10 min)
- Phase 6: Deploy code-server (10 min)
- Phase 7: Configure dev environment (30 min)
- Phase 8: iPad PWA setup (5 min)
- Phase 9: Backup & security (1 hour)
- Phase 10: Monitoring (15 min, optional)
💡 Use Case
Problem: Need to edit your knowledge repository from iPad with AI assistance
Solution: Cloud-hosted VS Code with Claude Code, pushing to self-hosted Git server
Your Workflow:
- Open code-server PWA on iPad
- Edit files with full VS Code interface
- Use Claude Code extension for AI assistance
- Commit and push to Gitea
- View changes in Gitea web UI
🔐 Oracle Cloud Free Tier Details
Compute (Always Free):
- 4 ARM Ampere A1 cores + 24GB RAM (we use 1 VM with all resources)
- Alternative: 2x AMD VM.Standard.E2.1.Micro (1 OCPU + 1GB RAM each) - not recommended
Storage (Always Free):
- 200 GB block volume storage
- 10 GB object storage (backups)
Networking (Always Free):
- 1 public IPv4 per instance
- 10 TB outbound data transfer/month
- VCN (Virtual Cloud Network) - unlimited
Limitations:
- No root volume encryption on Free Tier
- Subject to capacity constraints (ARM availability varies by region)
📊 Resource Estimates
Base Stack:
- CapRover: ~300MB RAM
- Gitea: ~200MB RAM
- code-server: ~500MB RAM
- Total: ~1GB RAM
Your Remaining Resources:
- ~23GB RAM for additional apps
- ~190GB storage available
Can easily run:
- 15-25 lightweight apps, or
- 5-10 heavier apps (Nextcloud, Jellyfin, etc.)
🛠️ Additional Apps (Optional)
All available via CapRover one-click deploy:
- Vaultwarden - Password manager
- FreshRSS - RSS reader
- Uptime Kuma - Monitoring
- Nextcloud - File storage
- Bookstack - Wiki/docs
- Jellyfin - Media server
- Plausible - Analytics
- And 190+ more!
🤔 Why These Choices?
See detailed analysis in archive:
Gitea vs Forgejo:
- Gitea: CapRover one-click (5 min) ✅
- Forgejo: Manual Docker setup (30 min), better security
- Decision: Gitea for ease, adequate security for personal use
- See: archive/ALTERNATIVES_CONSIDERED.md
CapRover vs Alternatives:
- CapRover: One-click apps, built-in proxy+SSL ✅
- Portainer: More control, manual setup per app
- Dockge: Modern but no app marketplace
- Decision: CapRover for TrueNAS-like experience
- See: archive/QUICK_COMPARISON.md
Docker vs Podman:
- CapRover requires Docker Swarm
- Podman doesn't support Swarm
- Decision: Docker (only option)
- See: archive/ALTERNATIVES_CONSIDERED.md
📖 Success Criteria
You'll know it's working when:
- ✅ CapRover dashboard accessible at
https://captain.yourdomain.com - ✅ Gitea accessible at
https://git.yourdomain.com - ✅ code-server accessible at
https://code.yourdomain.com - ✅ Claude Code extension installed and working in code-server
- ✅ Can clone, edit, commit, and push from code-server to Gitea
- ✅ code-server installed as PWA on iPad
- ✅ All services have valid SSL certificates
🆘 Troubleshooting
See detailed troubleshooting in IMPLEMENTATION_PLAN.md
Common issues:
- CapRover not accessible → Check Oracle Security Lists and UFW firewall
- SSL not working → Verify DNS propagated, Cloudflare proxy OFF
- code-server can't clone → Check SSH key added to Gitea
- Claude Code not working → Verify API key, check extension logs
📚 Documentation Structure
Oracle Cloud/
├── README.md (this file) ← Overview and quick reference
├── IMPLEMENTATION_PLAN.md ← Step-by-step build guide ⭐
└── archive/
├── ALTERNATIVES_CONSIDERED.md ← Deep dive into alternatives
└── QUICK_COMPARISON.md ← Comparison tables
🎯 Next Steps
Ready to build?
- Open IMPLEMENTATION_PLAN.md
- Start with Phase 1 (Oracle Cloud VM setup)
- Follow each phase sequentially
- Come back here for quick reference
Have questions about choices?
- See archive/ALTERNATIVES_CONSIDERED.md for detailed analysis
- See archive/QUICK_COMPARISON.md for quick comparisons
Let's build this! 🚀