Battle Plan Created: - Comprehensive deployment guide (code-server-deployment-plan.md) - Browser-based VS Code for documentation editing - Eliminates 90% of terminal work for docs Project Scope Updated: - Code-Server as Phase 0.5 extension - Addresses hand limitations directly - Enables Meg to edit without SSH knowledge TASKS.md Updated: - Complete deployment checklist - Pre-deployment, installation, security steps - Post-deployment configuration and testing Strategic Value: - Works on Chromebook + Samsung S24 Ultra - Visual Git workflow (no commands) - Reduces hand strain significantly - Mobile-friendly documentation workflow Ready to deploy: code.firefrostgaming.com 🔥❄️
224 lines
5.1 KiB
Markdown
224 lines
5.1 KiB
Markdown
# Code-Server Deployment Plan
|
|
|
|
**Service:** Visual Studio Code (Web-based IDE)
|
|
**URL:** code.firefrostgaming.com
|
|
**Location:** Command Center VPS (63.143.34.217)
|
|
**Purpose:** Browser-based file editing for documentation (no SSH required)
|
|
**Priority:** HIGH - Accessibility enhancement for hand limitations
|
|
|
|
---
|
|
|
|
## Strategic Value
|
|
|
|
**Problem Solved:**
|
|
- Eliminates need for SSH terminal for doc editing
|
|
- GUI-based file management
|
|
- Works on Chromebook + Samsung Galaxy S24 Ultra
|
|
- Enables Meg to edit docs without SSH knowledge
|
|
- Visual Git workflow (no command line)
|
|
|
|
**The Wizard + The Emissary can both edit docs from any device!**
|
|
|
|
---
|
|
|
|
## Technical Specifications
|
|
|
|
**Software:** Code-Server (VS Code in browser)
|
|
**Version:** Latest stable
|
|
**Port:** 8080 (internal)
|
|
**External Access:** HTTPS via Nginx reverse proxy
|
|
**Authentication:** Password (upgrade to Authentik SSO in Phase 2)
|
|
**SSL:** Let's Encrypt certificate
|
|
**Firewall:** UFW rules for port 8080 (localhost only)
|
|
|
|
---
|
|
|
|
## Architecture
|
|
```
|
|
User Browser
|
|
↓ HTTPS
|
|
Nginx (code.firefrostgaming.com)
|
|
↓ Reverse Proxy (localhost:8080)
|
|
Code-Server
|
|
↓ File Access
|
|
/root/firefrost-work/firefrost-operations-manual/
|
|
↓ Git Operations
|
|
Gitea (git.firefrostgaming.com)
|
|
```
|
|
|
|
---
|
|
|
|
## Pre-Deployment Checklist
|
|
|
|
- [ ] DNS A record: code.firefrostgaming.com → 63.143.34.217
|
|
- [ ] Port 8080 available (check with `ss -tlnp | grep 8080`)
|
|
- [ ] Disk space check (Code-Server ~500MB)
|
|
- [ ] Backup current Git repo state
|
|
|
|
---
|
|
|
|
## Deployment Steps
|
|
|
|
### Step 1: Install Code-Server
|
|
```bash
|
|
curl -fsSL https://code-server.dev/install.sh | sh
|
|
```
|
|
|
|
### Step 2: Configure Code-Server
|
|
- Config file: `~/.config/code-server/config.yaml`
|
|
- Set bind address: 127.0.0.1:8080
|
|
- Set password: [STRONG_PASSWORD]
|
|
- Disable telemetry
|
|
|
|
### Step 3: Create Systemd Service
|
|
- Enable auto-start on boot
|
|
- Set working directory: `/root/firefrost-work/firefrost-operations-manual`
|
|
- Configure restart policy
|
|
|
|
### Step 4: Nginx Reverse Proxy
|
|
- Create site config: `/etc/nginx/sites-available/code.firefrostgaming.com`
|
|
- Proxy pass to localhost:8080
|
|
- WebSocket support (critical for Code-Server)
|
|
|
|
### Step 5: SSL Certificate
|
|
```bash
|
|
certbot --nginx -d code.firefrostgaming.com
|
|
```
|
|
|
|
### Step 6: UFW Firewall
|
|
- Allow HTTP/HTTPS on ens3
|
|
- Block direct access to port 8080
|
|
|
|
### Step 7: Verification
|
|
- Test HTTPS access
|
|
- Test file editing
|
|
- Test Git operations
|
|
- Test from mobile devices
|
|
|
|
---
|
|
|
|
## Post-Deployment Configuration
|
|
|
|
**VS Code Extensions to Install:**
|
|
1. Markdown All in One (preview + shortcuts)
|
|
2. Git Graph (visual Git history)
|
|
3. GitLens (advanced Git features)
|
|
4. Prettier (code formatting)
|
|
5. Material Icon Theme (better file icons)
|
|
|
|
**Workspace Settings:**
|
|
- Open folder: `/root/firefrost-work/firefrost-operations-manual`
|
|
- Git: Enable auto-fetch
|
|
- Files: Auto-save enabled
|
|
- Terminal: Default shell bash
|
|
|
|
---
|
|
|
|
## Security Considerations
|
|
|
|
**Access Control:**
|
|
- Password authentication (for now)
|
|
- HTTPS only (no HTTP access)
|
|
- Future: Integrate with Authentik SSO
|
|
|
|
**File Permissions:**
|
|
- Code-Server runs as root (needs Git access)
|
|
- Read/write to firefrost-operations-manual repo
|
|
|
|
**Network:**
|
|
- Bound to localhost only
|
|
- Nginx reverse proxy handles external access
|
|
- UFW blocks direct port access
|
|
|
|
---
|
|
|
|
## Usage Workflow (Post-Deployment)
|
|
|
|
**For Michael:**
|
|
1. Open code.firefrostgaming.com on Chromebook/phone
|
|
2. Enter password
|
|
3. Navigate files in sidebar
|
|
4. Edit markdown files
|
|
5. Use Source Control tab for Git
|
|
6. Commit + Push with GUI buttons
|
|
|
|
**For Meg:**
|
|
1. Same workflow as Michael
|
|
2. No SSH knowledge required
|
|
3. Visual file management
|
|
4. Can edit branding docs easily
|
|
|
|
---
|
|
|
|
## Troubleshooting Guide
|
|
|
|
**Issue: Can't connect to code.firefrostgaming.com**
|
|
- Check DNS propagation
|
|
- Verify Nginx config: `nginx -t`
|
|
- Check Code-Server status: `systemctl status code-server@root`
|
|
|
|
**Issue: WebSocket connection failed**
|
|
- Verify Nginx proxy_http_version 1.1
|
|
- Check Upgrade and Connection headers
|
|
|
|
**Issue: Git operations fail**
|
|
- Verify Git credentials configured
|
|
- Check file permissions
|
|
|
|
---
|
|
|
|
## Rollback Plan
|
|
|
|
**If deployment fails:**
|
|
1. Stop Code-Server: `systemctl stop code-server@root`
|
|
2. Remove Nginx config
|
|
3. Remove DNS record
|
|
4. Continue using SSH workflow
|
|
|
|
**No data loss risk - all Git repo files untouched**
|
|
|
|
---
|
|
|
|
## Success Metrics
|
|
|
|
- ✅ HTTPS accessible from browser
|
|
- ✅ File editing works smoothly
|
|
- ✅ Git commit/push from UI works
|
|
- ✅ Accessible from Chromebook
|
|
- ✅ Accessible from Samsung S24 Ultra
|
|
- ✅ Meg can edit docs without SSH
|
|
|
|
---
|
|
|
|
## Timeline
|
|
|
|
**Estimated Deployment Time:** 1-2 hours
|
|
|
|
**Phase Breakdown:**
|
|
- DNS + Prerequisites: 10 minutes
|
|
- Code-Server install: 15 minutes
|
|
- Configuration: 20 minutes
|
|
- Nginx setup: 15 minutes
|
|
- SSL certificate: 5 minutes
|
|
- Testing: 20 minutes
|
|
- Documentation: 15 minutes
|
|
|
|
**Total:** ~100 minutes
|
|
|
|
---
|
|
|
|
## Future Enhancements (Phase 2+)
|
|
|
|
- [ ] Authentik SSO integration
|
|
- [ ] Custom VS Code theme (Fire + Frost colors)
|
|
- [ ] Shared editing (Live Share extension)
|
|
- [ ] Mobile app (code-server has PWA support)
|
|
- [ ] Backup/snapshot system
|
|
|
|
---
|
|
|
|
**Status:** READY FOR DEPLOYMENT
|
|
**Next Step:** Create DNS record, then begin installation
|
|
|
|
**Fire + Frost = Where Passion Meets Precision** 🔥❄️
|