281 lines
9.3 KiB
Markdown
281 lines
9.3 KiB
Markdown
# 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](./IMPLEMENTATION_PLAN.md)** ⭐ Start here! Complete step-by-step build guide
|
|
- **[archive/ALTERNATIVES_CONSIDERED.md](./archive/ALTERNATIVES_CONSIDERED.md)** - Deep dive into alternatives we researched
|
|
- **[archive/QUICK_COMPARISON.md](./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
|
|
|
|
1. **Read the implementation plan:** [IMPLEMENTATION_PLAN.md](./IMPLEMENTATION_PLAN.md)
|
|
2. **Follow Phase 1-10** for complete setup
|
|
3. **Estimated time:** 3-4 hours (including wait times)
|
|
|
|
### Quick Phase Overview
|
|
|
|
1. **Phase 1:** Oracle Cloud VM setup (1-2 hours)
|
|
2. **Phase 2:** Install Docker (30 min)
|
|
3. **Phase 3:** Configure DNS (10 min)
|
|
4. **Phase 4:** Install CapRover (15 min)
|
|
5. **Phase 5:** Deploy Gitea (10 min)
|
|
6. **Phase 6:** Deploy code-server (10 min)
|
|
7. **Phase 7:** Configure dev environment (30 min)
|
|
8. **Phase 8:** iPad PWA setup (5 min)
|
|
9. **Phase 9:** Backup & security (1 hour)
|
|
10. **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:**
|
|
1. Open code-server PWA on iPad
|
|
2. Edit files with full VS Code interface
|
|
3. Use Claude Code extension for AI assistance
|
|
4. Commit and push to Gitea
|
|
5. 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](./archive/ALTERNATIVES_CONSIDERED.md#git-server-forgejo-vs-gitea)
|
|
|
|
**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](./archive/QUICK_COMPARISON.md#container-management-platform)
|
|
|
|
**Docker vs Podman:**
|
|
- CapRover requires Docker Swarm
|
|
- Podman doesn't support Swarm
|
|
- **Decision:** Docker (only option)
|
|
- See: [archive/ALTERNATIVES_CONSIDERED.md](./archive/ALTERNATIVES_CONSIDERED.md#container-runtime-docker-vs-podman)
|
|
|
|
---
|
|
|
|
## 📖 Success Criteria
|
|
|
|
You'll know it's working when:
|
|
|
|
1. ✅ CapRover dashboard accessible at `https://captain.yourdomain.com`
|
|
2. ✅ Gitea accessible at `https://git.yourdomain.com`
|
|
3. ✅ code-server accessible at `https://code.yourdomain.com`
|
|
4. ✅ Claude Code extension installed and working in code-server
|
|
5. ✅ Can clone, edit, commit, and push from code-server to Gitea
|
|
6. ✅ code-server installed as PWA on iPad
|
|
7. ✅ All services have valid SSL certificates
|
|
|
|
---
|
|
|
|
## 🆘 Troubleshooting
|
|
|
|
See detailed troubleshooting in [IMPLEMENTATION_PLAN.md](./IMPLEMENTATION_PLAN.md#troubleshooting)
|
|
|
|
**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?**
|
|
|
|
1. Open [IMPLEMENTATION_PLAN.md](./IMPLEMENTATION_PLAN.md)
|
|
2. Start with Phase 1 (Oracle Cloud VM setup)
|
|
3. Follow each phase sequentially
|
|
4. Come back here for quick reference
|
|
|
|
**Have questions about choices?**
|
|
|
|
- See [archive/ALTERNATIVES_CONSIDERED.md](./archive/ALTERNATIVES_CONSIDERED.md) for detailed analysis
|
|
- See [archive/QUICK_COMPARISON.md](./archive/QUICK_COMPARISON.md) for quick comparisons
|
|
|
|
---
|
|
|
|
**Let's build this! 🚀**
|