Add quick start guide for Scaleway deployment
This commit is contained in:
177
README_SCALEWAY.md
Normal file
177
README_SCALEWAY.md
Normal file
@@ -0,0 +1,177 @@
|
||||
# Scaleway Deployment - Quick Start
|
||||
|
||||
This branch contains everything needed to deploy your Hugo Notebook to Scaleway at `notebook.arnodo.fr`.
|
||||
|
||||
## 📁 Files Added
|
||||
|
||||
- `.gitea/workflows/deploy.yml` - Gitea Actions workflow for Object Storage deployment
|
||||
- `docs/SCALEWAY_DEPLOYMENT.md` - Complete Object Storage setup guide
|
||||
- `docs/SCALEWAY_DEPLOYMENT_DOCKER.md` - Docker instance deployment guide
|
||||
- `docs/DEPLOYMENT_COMPARISON.md` - Comparison of all deployment options
|
||||
- `scripts/setup-scaleway.sh` - Automated Scaleway setup script
|
||||
|
||||
## 🚀 Quick Start (Recommended: Object Storage)
|
||||
|
||||
### 1. Install Scaleway CLI
|
||||
```bash
|
||||
# macOS
|
||||
brew install scw
|
||||
|
||||
# Linux
|
||||
curl -o /usr/local/bin/scw -L "https://github.com/scaleway/scaleway-cli/releases/latest/download/scaleway-cli_$(uname -s)_$(uname -m)"
|
||||
chmod +x /usr/local/bin/scw
|
||||
|
||||
# Configure
|
||||
scw init
|
||||
```
|
||||
|
||||
### 2. Run Setup Script
|
||||
```bash
|
||||
chmod +x scripts/setup-scaleway.sh
|
||||
./scripts/setup-scaleway.sh
|
||||
```
|
||||
|
||||
This will:
|
||||
- Create Object Storage bucket `notebook-arnodo-fr`
|
||||
- Configure static website hosting
|
||||
- Apply public read policy
|
||||
|
||||
### 3. Get API Keys
|
||||
```bash
|
||||
# In Scaleway console: IAM → API Keys → Generate
|
||||
# Or via CLI:
|
||||
scw iam api-key create description="Gitea Deployment"
|
||||
```
|
||||
|
||||
Save:
|
||||
- Access Key ID
|
||||
- Secret Access Key
|
||||
|
||||
### 4. Add Gitea Secrets
|
||||
|
||||
Go to: `https://gitea.arnodo.fr/Damien/Notebook/settings/secrets`
|
||||
|
||||
Add:
|
||||
- `SCW_ACCESS_KEY`: Your access key
|
||||
- `SCW_SECRET_KEY`: Your secret key
|
||||
- `SCW_BUCKET_NAME`: `notebook-arnodo-fr`
|
||||
|
||||
### 5. Configure DNS
|
||||
|
||||
Add CNAME record:
|
||||
```
|
||||
notebook.arnodo.fr CNAME notebook-arnodo-fr.s3-website.fr-par.scw.cloud.
|
||||
```
|
||||
|
||||
### 6. Deploy!
|
||||
|
||||
Merge this branch to `main`, or push any change to `main`:
|
||||
```bash
|
||||
git checkout main
|
||||
git merge scaleway-deployment
|
||||
git push
|
||||
```
|
||||
|
||||
Gitea Actions will automatically:
|
||||
1. Build Hugo site
|
||||
2. Upload to Scaleway Object Storage
|
||||
3. Your site will be live at `https://notebook.arnodo.fr`
|
||||
|
||||
## 💰 Cost
|
||||
|
||||
**Object Storage**: ~€1-2/month
|
||||
- Storage: €0.01/GB/month
|
||||
- Traffic: First 75 GB free
|
||||
- Very low cost for blogs
|
||||
|
||||
**Docker Instance**: ~€10/month (if you need more control)
|
||||
|
||||
## 📊 Deployment Methods Comparison
|
||||
|
||||
| Feature | Object Storage | Docker Instance |
|
||||
|---------|---------------|-----------------|
|
||||
| Cost | €1-2/month | €10/month |
|
||||
| Maintenance | None | Regular updates |
|
||||
| SSL | Via CDN | Let's Encrypt |
|
||||
| Control | Limited | Full |
|
||||
| Setup Time | 30 min | 1-2 hours |
|
||||
|
||||
See `docs/DEPLOYMENT_COMPARISON.md` for full analysis.
|
||||
|
||||
## 🔍 Testing Before DNS Switch
|
||||
|
||||
Test your deployment:
|
||||
```bash
|
||||
# After deployment, check:
|
||||
curl -I http://notebook-arnodo-fr.s3-website.fr-par.scw.cloud
|
||||
|
||||
# Test specific page:
|
||||
curl http://notebook-arnodo-fr.s3-website.fr-par.scw.cloud/posts/your-post/
|
||||
```
|
||||
|
||||
## 🔄 Migration Strategy
|
||||
|
||||
1. **Parallel run**: Keep GitHub Pages active
|
||||
2. **Test thoroughly**: Verify Scaleway deployment works
|
||||
3. **Switch DNS**: Point to Scaleway
|
||||
4. **Monitor**: Watch for 30 days
|
||||
5. **Decommission**: Remove GitHub Pages when confident
|
||||
|
||||
## 📚 Documentation
|
||||
|
||||
- **Object Storage Setup**: `docs/SCALEWAY_DEPLOYMENT.md`
|
||||
- **Docker Instance Setup**: `docs/SCALEWAY_DEPLOYMENT_DOCKER.md`
|
||||
- **Comparison Guide**: `docs/DEPLOYMENT_COMPARISON.md`
|
||||
|
||||
## 🆘 Troubleshooting
|
||||
|
||||
### Build fails
|
||||
- Check Hugo version in workflow
|
||||
- Verify theme submodules
|
||||
- Check Gitea Actions logs
|
||||
|
||||
### Files not accessible
|
||||
- Verify bucket policy allows public read
|
||||
- Check bucket website configuration
|
||||
- Ensure files were uploaded (check workflow logs)
|
||||
|
||||
### DNS not working
|
||||
- Wait for DNS propagation (up to 48 hours, usually < 1 hour)
|
||||
- Verify CNAME with: `dig notebook.arnodo.fr`
|
||||
- Check TTL settings
|
||||
|
||||
## 🔗 Useful Links
|
||||
|
||||
- Scaleway Console: https://console.scaleway.com
|
||||
- Scaleway Docs: https://www.scaleway.com/en/docs/storage/object/
|
||||
- Gitea Actions Logs: https://gitea.arnodo.fr/Damien/Notebook/actions
|
||||
|
||||
## ✅ Checklist
|
||||
|
||||
Before merging:
|
||||
- [ ] Scaleway account created
|
||||
- [ ] Object Storage bucket created
|
||||
- [ ] API keys generated
|
||||
- [ ] Gitea secrets configured
|
||||
- [ ] DNS CNAME record added
|
||||
- [ ] Tested workflow locally (optional)
|
||||
|
||||
After merging:
|
||||
- [ ] Verify Gitea Actions run successfully
|
||||
- [ ] Test site at bucket URL
|
||||
- [ ] Verify custom domain works
|
||||
- [ ] Check all pages load correctly
|
||||
- [ ] Monitor costs in Scaleway console
|
||||
|
||||
## 🎯 Recommended Next Steps
|
||||
|
||||
1. ✅ Merge this PR
|
||||
2. ⬜ Monitor first deployment
|
||||
3. ⬜ Test all site functionality
|
||||
4. ⬜ Set up Scaleway monitoring/alerts
|
||||
5. ⬜ Consider adding CDN (if high traffic)
|
||||
6. ⬜ Document any custom workflows
|
||||
|
||||
---
|
||||
|
||||
**Questions?** Check the detailed guides in the `docs/` directory or reach out for help!
|
||||
Reference in New Issue
Block a user