Refactor deployment documentation and enhance testing workflow
- Revised the Development-Workflow documentation to improve clarity on deployment strategies and testing procedures. - Added comprehensive instructions for deployment commands, including code syncing, frontend and backend builds, and service restarts. - Enhanced the SSH key management section to address authentication challenges. - Expanded the testing workflow to incorporate log checks and ISO build synchronization. - Updated the ISO build integration section to ensure all system-level changes are captured for future builds.
This commit is contained in:
180
MAC-CLEANUP-GUIDE.md
Normal file
180
MAC-CLEANUP-GUIDE.md
Normal file
@@ -0,0 +1,180 @@
|
||||
# Mac Development Setup - What You Need
|
||||
|
||||
## Current Situation
|
||||
|
||||
You develop Archipelago on a **remote Debian server** (192.168.1.228), not locally on your Mac.
|
||||
|
||||
Your Mac is used for:
|
||||
- ✅ **Editing code** (VSCode/Cursor)
|
||||
- ✅ **Git operations** (commit, push, pull)
|
||||
- ✅ **Deploying to remote** (`deploy-to-target.sh`)
|
||||
- ✅ **Building ISOs** (occasionally)
|
||||
|
||||
Your Mac is NOT used for:
|
||||
- ❌ Running containers locally
|
||||
- ❌ Building Rust locally
|
||||
- ❌ Running the backend locally
|
||||
- ❌ Running the frontend dev server locally
|
||||
|
||||
## Disk Usage Analysis
|
||||
|
||||
### 🔴 Can Delete (Total: ~66 GB)
|
||||
|
||||
1. **Docker Desktop: 53 GB**
|
||||
- You're not running containers locally
|
||||
- All containers run on 192.168.1.228
|
||||
- Safe to completely uninstall
|
||||
|
||||
2. **Rust Build Cache: 1.6 GB** (`core/target/`)
|
||||
- Builds happen on remote server via `deploy-to-target.sh`
|
||||
- Rust compiler still needed for occasional local builds
|
||||
- Cache rebuilds automatically
|
||||
|
||||
3. **ISO Build Artifacts: 8.6 GB** (`image-recipe/build/`)
|
||||
- Temporary files from ISO building
|
||||
- Recreated when you build a new ISO
|
||||
- Safe to delete
|
||||
|
||||
4. **Old ISO Files: ~3 GB** (`image-recipe/results/`)
|
||||
- Keep latest ISO only (~500MB)
|
||||
- Delete old versions
|
||||
|
||||
### 🟢 Keep These Tools
|
||||
|
||||
1. **Rust/Cargo** ✅
|
||||
- For occasional local builds
|
||||
- For `deploy-to-target.sh` (builds before deploying)
|
||||
- Size: ~200 MB
|
||||
|
||||
2. **Node.js/npm** ✅
|
||||
- For frontend builds in `deploy-to-target.sh`
|
||||
- For editing with IDE autocomplete
|
||||
- Size: ~100 MB
|
||||
|
||||
3. **Git** ✅
|
||||
- Version control
|
||||
- Essential
|
||||
|
||||
4. **SSH** ✅
|
||||
- Remote server access
|
||||
- Essential for deployment
|
||||
|
||||
### ⚠️ Optional (You Choose)
|
||||
|
||||
1. **Podman** (~100 MB)
|
||||
- Currently installed but not used
|
||||
- Could remove: `brew uninstall podman`
|
||||
- You use Podman on the *remote server*, not locally
|
||||
|
||||
2. **xorriso, p7zip** (ISO build tools)
|
||||
- Only needed if building ISOs locally
|
||||
- Can reinstall when needed: `brew install xorriso p7zip`
|
||||
|
||||
## Recommended Setup
|
||||
|
||||
### Minimal Mac Setup (Recommended)
|
||||
```
|
||||
✅ VSCode/Cursor (code editing)
|
||||
✅ Git (version control)
|
||||
✅ SSH (remote access)
|
||||
✅ Rust/Cargo (for deploy script)
|
||||
✅ Node.js/npm (for deploy script)
|
||||
✅ One latest ISO file (~500 MB)
|
||||
❌ NO Docker Desktop
|
||||
❌ NO local containers
|
||||
❌ NO build artifacts
|
||||
```
|
||||
|
||||
**Total disk usage: ~500 MB + source code**
|
||||
|
||||
### Your Development Workflow
|
||||
```bash
|
||||
# 1. Edit code locally on Mac
|
||||
vim core/archipelago/src/...
|
||||
vim neode-ui/src/...
|
||||
|
||||
# 2. Deploy to remote server
|
||||
./scripts/deploy-to-target.sh --live
|
||||
|
||||
# 3. Test on remote server
|
||||
open http://192.168.1.228
|
||||
|
||||
# 4. Check logs (if needed)
|
||||
ssh archipelago@192.168.1.228 'sudo journalctl -u archipelago -f'
|
||||
|
||||
# 5. Build ISO (when needed)
|
||||
cd image-recipe
|
||||
./build-debian-iso.sh # Only when making a release
|
||||
```
|
||||
|
||||
## Cleanup Instructions
|
||||
|
||||
### Quick Cleanup (Run This Now)
|
||||
```bash
|
||||
cd /Users/dorian/Projects/archy
|
||||
./cleanup-mac.sh
|
||||
```
|
||||
|
||||
This removes:
|
||||
- Rust build cache
|
||||
- ISO build artifacts
|
||||
- Old ISO files
|
||||
|
||||
**Saves: ~13 GB**
|
||||
|
||||
### Complete Cleanup (Optional)
|
||||
|
||||
1. **Uninstall Docker Desktop** (53 GB)
|
||||
```bash
|
||||
# Option 1: Using the app
|
||||
# Open Docker Desktop → Troubleshoot → Uninstall
|
||||
|
||||
# Option 2: Manual removal
|
||||
rm -rf ~/Library/Containers/com.docker.docker
|
||||
rm -rf ~/Library/Application\ Support/Docker\ Desktop
|
||||
rm -rf ~/.docker
|
||||
brew uninstall --cask docker
|
||||
```
|
||||
|
||||
2. **Remove Podman** (if not used)
|
||||
```bash
|
||||
brew uninstall podman
|
||||
```
|
||||
|
||||
3. **Remove ISO build tools** (if not needed)
|
||||
```bash
|
||||
brew uninstall xorriso p7zip
|
||||
```
|
||||
|
||||
**Total savings: ~66 GB**
|
||||
|
||||
## FAQ
|
||||
|
||||
**Q: Will this break my development workflow?**
|
||||
A: No! You'll still be able to edit code and deploy. Build artifacts regenerate automatically.
|
||||
|
||||
**Q: What if I need to build locally?**
|
||||
A: The tools (Rust, Node) remain installed. Only the cached artifacts are removed.
|
||||
|
||||
**Q: What about Docker containers?**
|
||||
A: All containers run on the remote server (192.168.1.228), not locally.
|
||||
|
||||
**Q: Can I rebuild ISOs after cleanup?**
|
||||
A: Yes! Just run `./build-debian-iso.sh` - it will recreate the build artifacts.
|
||||
|
||||
**Q: What if I delete too much?**
|
||||
A: The cleanup script is conservative. Everything removed can be regenerated.
|
||||
|
||||
## After Cleanup
|
||||
|
||||
Your Mac will have:
|
||||
- ✅ 66+ GB free disk space
|
||||
- ✅ Fast, lean development environment
|
||||
- ✅ All source code intact
|
||||
- ✅ Full development capabilities
|
||||
- ✅ Latest ISO ready to flash
|
||||
|
||||
Your workflow remains the same:
|
||||
```
|
||||
Edit → Deploy → Test (on remote) → Commit
|
||||
```
|
||||
Reference in New Issue
Block a user