- Completed in 24 seconds using direct docker compose approach - Validated expert consensus: Dockge for management, not migration - Service running successfully on fry.obr.sh - HTTP 301 response confirms Traefik routing works - Container logs show nginx started correctly Next: Gitea and Mastodon migrations (complex, need specialized agents)
Dockge Migration Guide
Complete step-by-step guide for migrating all services from photon.obnh.io to fry.obr.sh using Dockge WebUI with comprehensive screenshot documentation.
Migration Overview
Source Server: photon.obnh.io (95.217.133.54) Target Server: fry.obr.sh (45.131.64.213) Method: Docker Compose migration with Dockge WebUI management Documentation: AI-annotated screenshots at every step
Services to Migrate
Migration follows strict dependency order:
- Traefik - CRITICAL FIRST (reverse proxy)
- photon-default-page - Simple test service
- Gitea - Git hosting + PostgreSQL database
- Mastodon (bern.social) - Complex (5 containers)
Repository Structure
/
├── README.md # This file
├── docs/ # Step-by-step migration guides
│ ├── 01-traefik-migration.md
│ ├── 02-photon-default-page-migration.md
│ ├── 03-gitea-migration.md
│ ├── 04-mastodon-migration.md
│ └── 99-troubleshooting.md
├── screenshots/ # All screenshots
│ ├── original/ # Original unmodified screenshots
│ └── annotated/ # AI-annotated with markup
├── compose-files/ # Docker compose configurations
├── verification/ # Browser verification results
└── MIGRATION_STATUS.md # Current migration progress
Migration Methodology
Pre-Migration Checklist
- Backup all data on source server
- Verify DNS records
- Test SSH access to both servers
- Verify Dockge running on both servers
- Document current service status
Migration Steps (Per Service)
- Screenshot & Document - Capture current state in Dockge WebUI
- Stop Service - Gracefully stop on source server
- Export Configuration - Copy docker-compose.yml and environment
- Transfer Data - Migrate volumes, databases, persistent data
- Deploy on Target - Apply configuration on fry.obr.sh
- Verify Running - Check service health in Dockge
- Browser Verification - Test via automated browser checks
- Update DNS - Point domain to new server (when ready)
Screenshot Documentation
- Tool: Playwright browser automation
- AI Analysis: google/gemini-2.5-flash-image via openrouter.ai
- Annotations: Arrows, circles, labels showing exact actions
- Storage: Both original and annotated versions in git
Verification Requirements
Each migrated service must pass:
- HTTP 200 OK response
- Correct response headers (fry.obr.sh IP: 45.131.64.213)
- Service-specific health checks
- Browser screenshot proof
Current Status
See MIGRATION_STATUS.md for real-time progress tracking.
Tools & Technologies
- Dockge: WebUI for Docker Compose management (port 5001)
- Docker Compose: Container orchestration
- Traefik: Reverse proxy and SSL termination
- Playwright: Browser automation for verification
- OpenRouter.AI: Image analysis with Gemini 2.5 Flash
- Gitea: Documentation repository hosting
Important Notes
⚠️ Migration Order is Critical Traefik MUST be migrated first as it provides reverse proxy for all other services.
⚠️ Downtime Expectations Each service will have brief downtime during migration. Plan accordingly.
⚠️ DNS Propagation DNS changes can take 5-60 minutes to propagate globally.
⚠️ Backup First All services have been backed up before migration begins.
Support & Troubleshooting
See docs/99-troubleshooting.md for common issues and solutions.
Generated Documentation
This guide was created using AI-assisted migration orchestration with:
- Multi-agent coordination for complex tasks
- Automated screenshot capture and analysis
- Browser-based verification
- Real-time documentation generation
Migration Start Date: 2025-11-16 Estimated Completion: TBD Repository: https://git.proton.obr.sh/olaf/dockge-migration-guide