Document infrastructure rollout plan
This commit is contained in:
		
							
								
								
									
										58
									
								
								docs/INFRA_PLANNING.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								docs/INFRA_PLANNING.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,58 @@ | |||||||
|  | # Infrastructure Planning Notes | ||||||
|  |  | ||||||
|  | This document captures next steps for adopting Coolify and Gitea CI/registry in a controlled, reproducible way. | ||||||
|  |  | ||||||
|  | ## 1. Coolify Rollout Strategy | ||||||
|  |  | ||||||
|  | 1. **Create a disposable sandbox first** | ||||||
|  |    - Spin up a local VM (or an inexpensive VPS) dedicated to Coolify experiments. | ||||||
|  |    - Use it to run the installer, attach your Gitea instance, and deploy this repository end-to-end. | ||||||
|  |    - Exercise high-value features (PR previews, environment variables, health checks) without risking production downtime. | ||||||
|  |  | ||||||
|  | 2. **Keep the sandbox long-term** | ||||||
|  |    - After production goes live, retain the sandbox as a staging ground for platform upgrades and new service integrations. | ||||||
|  |    - Rehearse backup/restore workflows and new release rollouts here before promoting changes. | ||||||
|  |  | ||||||
|  | 3. **Provision production infrastructure once comfortable** | ||||||
|  |    - Select a control-plane VPS with at least 2 vCPUs, 4–8 GB RAM, and SSD storage; add additional app servers later if demand grows. | ||||||
|  |    - Repeat the installation using hardened settings (firewall rules, fail2ban, automated backups). | ||||||
|  |    - Point the production Coolify instance at the same container registry and Gitea repository tested in the sandbox. | ||||||
|  |  | ||||||
|  | ## 2. Deployment Checklist for Each Environment | ||||||
|  |  | ||||||
|  | - Link Gitea and verify the CI workflow pushes backend/frontend images with commit tags. | ||||||
|  | - Import this repository in Coolify and target `deploy/coolify/docker-compose.yml`. | ||||||
|  | - Set environment variables (`BACKEND_IMAGE`, `FRONTEND_IMAGE`, `POSTGRES_*`, `JWT_SECRET`, `REACT_APP_API_URL`). | ||||||
|  | - Configure post-deploy hooks (`npm run migrate`, optionally `npm run seed`). | ||||||
|  | - Test PR preview environments end-to-end (create PR, verify preview URL, merge, confirm teardown). | ||||||
|  | - Validate monitoring/alerting (Coolify health checks, optional external uptime monitor). | ||||||
|  |  | ||||||
|  | ## 3. Gitea CI & Runner Guidance | ||||||
|  |  | ||||||
|  | - **Use a dedicated runner VM or lightweight VPS.** Keeping the runner separate from your Gitea host avoids resource contention and lets you scale build capacity independently. | ||||||
|  | - Install the Gitea Actions Runner via Docker or binary, register it against your Gitea instance, and grant network access to both the registry and Coolify endpoints. | ||||||
|  | - Start with a single runner sized similarly to the sandbox Coolify VM (2 vCPU / 4 GB RAM). Add more runners or scale up as build concurrency increases. | ||||||
|  | - Store registry credentials (`REGISTRY_HOST`, `REGISTRY_USERNAME`, `REGISTRY_PASSWORD`) as encrypted Gitea secrets so workflows can push images automatically. | ||||||
|  |  | ||||||
|  | ## 4. Container Registry Considerations | ||||||
|  |  | ||||||
|  | - Gitea ships with a built-in registry; enable it if you want an all-in-one solution. Alternatively, use another OCI registry (Harbor, GitHub Container Registry, Docker Hub) if already available. | ||||||
|  | - Whichever registry you choose, ensure: | ||||||
|  |   - TLS certificates are valid and trusted by both the runner and Coolify hosts. | ||||||
|  |   - Storage quotas can handle CI build artifacts and PR-preview images. | ||||||
|  |   - Access tokens have scope for both push (CI) and pull (Coolify). | ||||||
|  |  | ||||||
|  | ## 5. Learning Path & Practice Drills | ||||||
|  |  | ||||||
|  | - **Walkthroughs to complete in the sandbox:** | ||||||
|  |   1. Fresh Coolify install + first deployment of this app. | ||||||
|  |   2. PR preview flow from Gitea branch → CI build → Coolify preview → teardown. | ||||||
|  |   3. Coolify backup/restore exercise (export settings, recreate on new VM). | ||||||
|  |   4. Registry credential rotation (update secret, trigger new deploy). | ||||||
|  |  | ||||||
|  | - **Reference material:** | ||||||
|  |   - Coolify docs (install, server management, multi-server guides). | ||||||
|  |   - Gitea Actions documentation for runner installation and secret management. | ||||||
|  |   - OCI registry basics (tags, authentication, retention policies). | ||||||
|  |  | ||||||
|  | Completing these drills will build confidence before you commit production traffic to the platform. | ||||||
		Reference in New Issue
	
	Block a user