Files
Notebook/README_SCALEWAY.md

4.5 KiB

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

1. Install Scaleway CLI

# 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

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

# 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:

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:

# 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

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
  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!