Remove docs
This commit is contained in:
@@ -1,273 +0,0 @@
|
|||||||
# Deployment Options Comparison
|
|
||||||
|
|
||||||
## Quick Decision Guide
|
|
||||||
|
|
||||||
Choose based on your priorities:
|
|
||||||
|
|
||||||
| Factor | Object Storage | Docker Instance | GitHub Pages (current) |
|
|
||||||
|--------|---------------|-----------------|------------------------|
|
|
||||||
| **Cost** | ~€1-2/month | ~€10/month | Free |
|
|
||||||
| **Setup Complexity** | Low | Medium | Very Low |
|
|
||||||
| **Control** | Limited | Full | Limited |
|
|
||||||
| **SSL/TLS** | Via CDN | Let's Encrypt | Automatic |
|
|
||||||
| **Custom Domain** | ✅ | ✅ | ✅ |
|
|
||||||
| **Scalability** | Excellent | Limited | Excellent |
|
|
||||||
| **Maintenance** | None | Regular updates | None |
|
|
||||||
|
|
||||||
## Deployment Methods Overview
|
|
||||||
|
|
||||||
### 1. Object Storage (S3-compatible)
|
|
||||||
|
|
||||||
**Best for**: Low-traffic blogs, simple hosting needs
|
|
||||||
|
|
||||||
**Pros**:
|
|
||||||
- Very low cost
|
|
||||||
- No server maintenance
|
|
||||||
- Highly scalable
|
|
||||||
- Built-in redundancy
|
|
||||||
- Pay only for what you use
|
|
||||||
|
|
||||||
**Cons**:
|
|
||||||
- Limited server-side features
|
|
||||||
- HTTPS requires CDN or custom setup
|
|
||||||
- Less control over caching
|
|
||||||
- No server-side redirects
|
|
||||||
|
|
||||||
**Setup time**: 30 minutes
|
|
||||||
|
|
||||||
**Files needed**:
|
|
||||||
- `.gitea/workflows/deploy.yml`
|
|
||||||
- Scaleway API credentials
|
|
||||||
|
|
||||||
**Documentation**: [SCALEWAY_DEPLOYMENT.md](./SCALEWAY_DEPLOYMENT.md)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 2. Docker on Scaleway Instance
|
|
||||||
|
|
||||||
**Best for**: Sites needing more control, custom configurations
|
|
||||||
|
|
||||||
**Pros**:
|
|
||||||
- Full server control
|
|
||||||
- Easy SSL with Let's Encrypt
|
|
||||||
- Custom Nginx configuration
|
|
||||||
- Server-side redirects/rewrites
|
|
||||||
- Better caching control
|
|
||||||
- No per-request costs
|
|
||||||
|
|
||||||
**Cons**:
|
|
||||||
- Higher fixed cost
|
|
||||||
- Requires server maintenance
|
|
||||||
- Need to manage updates
|
|
||||||
- Single point of failure (without HA)
|
|
||||||
|
|
||||||
**Setup time**: 1-2 hours
|
|
||||||
|
|
||||||
**Files needed**:
|
|
||||||
- `.gitea/workflows/deploy-docker.yml`
|
|
||||||
- SSH key pair
|
|
||||||
- Docker Compose configuration
|
|
||||||
|
|
||||||
**Documentation**: [SCALEWAY_DEPLOYMENT_DOCKER.md](./SCALEWAY_DEPLOYMENT_DOCKER.md)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Cost Breakdown
|
|
||||||
|
|
||||||
### Object Storage
|
|
||||||
```
|
|
||||||
Storage: 1 GB × €0.01 = €0.01/month
|
|
||||||
Traffic: 50 GB/month (first 75 GB free)
|
|
||||||
Total: €0.01-0.50/month
|
|
||||||
```
|
|
||||||
|
|
||||||
### Object Storage + CDN
|
|
||||||
```
|
|
||||||
CDN base: €1/month
|
|
||||||
Storage: €0.01/month
|
|
||||||
Traffic: Reduced origin traffic
|
|
||||||
SSL: Included
|
|
||||||
Total: €1-3/month
|
|
||||||
```
|
|
||||||
|
|
||||||
### Docker Instance (DEV1-S)
|
|
||||||
```
|
|
||||||
Instance: €7-10/month
|
|
||||||
Traffic: 100 GB included
|
|
||||||
SSL: Free (Let's Encrypt)
|
|
||||||
Total: €10/month (predictable)
|
|
||||||
```
|
|
||||||
|
|
||||||
### GitHub Pages (Current)
|
|
||||||
```
|
|
||||||
Free for public repositories
|
|
||||||
Custom domain: ✅
|
|
||||||
SSL: Automatic
|
|
||||||
Limits: 100 GB bandwidth/month, 1 GB storage
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Traffic Threshold Analysis
|
|
||||||
|
|
||||||
When to choose each option:
|
|
||||||
|
|
||||||
### Stay with GitHub Pages if:
|
|
||||||
- Traffic < 100 GB/month
|
|
||||||
- No special requirements
|
|
||||||
- Happy with current setup
|
|
||||||
|
|
||||||
### Choose Object Storage if:
|
|
||||||
- Want French hosting
|
|
||||||
- Traffic 100-500 GB/month
|
|
||||||
- Need cost optimization
|
|
||||||
- Minimal configuration needs
|
|
||||||
|
|
||||||
### Choose Docker Instance if:
|
|
||||||
- Need custom server config
|
|
||||||
- Traffic > 500 GB/month
|
|
||||||
- Want full control
|
|
||||||
- Need advanced features (auth, API endpoints, etc.)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Migration Path
|
|
||||||
|
|
||||||
### Phase 1: Parallel Deployment
|
|
||||||
1. Keep GitHub Pages active
|
|
||||||
2. Set up Scaleway (either method)
|
|
||||||
3. Test thoroughly
|
|
||||||
|
|
||||||
### Phase 2: DNS Switch
|
|
||||||
```
|
|
||||||
notebook.arnodo.fr → Scaleway
|
|
||||||
netlify/pages subdomain → keep as backup
|
|
||||||
```
|
|
||||||
|
|
||||||
### Phase 3: Complete Migration
|
|
||||||
- Update all links
|
|
||||||
- Verify analytics
|
|
||||||
- Monitor for 30 days
|
|
||||||
- Decommission old setup
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Performance Comparison
|
|
||||||
|
|
||||||
| Metric | GitHub Pages | Object Storage | Docker Instance |
|
|
||||||
|--------|-------------|----------------|-----------------|
|
|
||||||
| **TTFB** | ~50-100ms | ~30-50ms | ~20-40ms |
|
|
||||||
| **Global CDN** | ✅ | Optional | No (single region) |
|
|
||||||
| **HTTP/2** | ✅ | ✅ | ✅ |
|
|
||||||
| **Brotli** | ✅ | ❌ | ✅ (configurable) |
|
|
||||||
| **Caching** | Good | Basic | Full control |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Recommended Approach
|
|
||||||
|
|
||||||
### For Your Use Case (Network Engineer Blog):
|
|
||||||
|
|
||||||
I recommend **Object Storage** initially because:
|
|
||||||
|
|
||||||
1. **Cost-effective**: ~€1/month vs €10/month
|
|
||||||
2. **Low maintenance**: No server to manage
|
|
||||||
3. **Scalable**: Can handle traffic spikes
|
|
||||||
4. **French hosting**: Data sovereignty if needed
|
|
||||||
5. **Easy rollback**: Keep GitHub Pages as backup
|
|
||||||
|
|
||||||
### Upgrade path:
|
|
||||||
```
|
|
||||||
Object Storage → Add CDN if needed → Docker instance only if traffic justifies it
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Implementation Checklist
|
|
||||||
|
|
||||||
### Object Storage Setup
|
|
||||||
- [ ] Create Scaleway account
|
|
||||||
- [ ] Create Object Storage bucket
|
|
||||||
- [ ] Configure bucket for static hosting
|
|
||||||
- [ ] Generate API keys
|
|
||||||
- [ ] Add secrets to Gitea
|
|
||||||
- [ ] Update DNS
|
|
||||||
- [ ] Test deployment
|
|
||||||
- [ ] Monitor costs
|
|
||||||
|
|
||||||
### Docker Instance Setup
|
|
||||||
- [ ] Create Scaleway instance
|
|
||||||
- [ ] Install Docker and dependencies
|
|
||||||
- [ ] Configure Nginx
|
|
||||||
- [ ] Set up SSL certificate
|
|
||||||
- [ ] Create deployment user
|
|
||||||
- [ ] Configure SSH keys
|
|
||||||
- [ ] Update Gitea workflow
|
|
||||||
- [ ] Set up monitoring
|
|
||||||
- [ ] Configure backups
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Maintenance Requirements
|
|
||||||
|
|
||||||
### Object Storage
|
|
||||||
- **Daily**: None
|
|
||||||
- **Weekly**: None
|
|
||||||
- **Monthly**: Review costs
|
|
||||||
- **Yearly**: Review retention policy
|
|
||||||
|
|
||||||
### Docker Instance
|
|
||||||
- **Daily**: Check monitoring
|
|
||||||
- **Weekly**: Review logs
|
|
||||||
- **Monthly**: Apply security updates
|
|
||||||
- **Quarterly**: Review backups, update SSL
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Support & Resources
|
|
||||||
|
|
||||||
### Scaleway
|
|
||||||
- Docs: https://www.scaleway.com/en/docs/
|
|
||||||
- Support: Via console ticket system
|
|
||||||
- Community: Discord, Forum
|
|
||||||
|
|
||||||
### Hugo
|
|
||||||
- Docs: https://gohugo.io/documentation/
|
|
||||||
- Community: Forum, Discord
|
|
||||||
|
|
||||||
### Gitea
|
|
||||||
- Docs: https://docs.gitea.com/
|
|
||||||
- Actions: https://docs.gitea.com/usage/actions
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Emergency Rollback Plan
|
|
||||||
|
|
||||||
If Scaleway deployment fails:
|
|
||||||
|
|
||||||
1. **Keep GitHub Pages active** during testing
|
|
||||||
2. **DNS TTL**: Set to 300s (5 min) during migration
|
|
||||||
3. **Rollback**: Change DNS back to GitHub Pages
|
|
||||||
4. **Monitoring**: Set up uptime monitoring (UptimeRobot, etc.)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Next Steps
|
|
||||||
|
|
||||||
1. ✅ Review both deployment options
|
|
||||||
2. ⬜ Choose deployment method
|
|
||||||
3. ⬜ Run setup script (`scripts/setup-scaleway.sh`)
|
|
||||||
4. ⬜ Configure DNS
|
|
||||||
5. ⬜ Add secrets to Gitea
|
|
||||||
6. ⬜ Merge deployment branch
|
|
||||||
7. ⬜ Test deployment
|
|
||||||
8. ⬜ Monitor for issues
|
|
||||||
9. ⬜ Update documentation
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
Need help deciding? Consider:
|
|
||||||
- **Budget**: Object Storage
|
|
||||||
- **Control**: Docker Instance
|
|
||||||
- **Simplicity**: Object Storage
|
|
||||||
- **Features**: Docker Instance
|
|
||||||
Reference in New Issue
Block a user