This guide walks through setting up the installer website with GitHub Pages.
git add .
git commit -m "feat: Initial install script and landing page"
git push origin main- Go to repository settings:
https://github.com/tfgrid-studio/tfgrid-install/settings/pages - Under "Build and deployment":
- Source: Deploy from a branch
- Branch:
main - Folder:
/ (root)
- Click Save
-
In the same GitHub Pages settings:
- Custom domain:
install.tfgrid.studio - Click Save
- Custom domain:
-
Add DNS records at your domain provider (e.g., Cloudflare, Route53):
Type: CNAME Name: install Value: tfgrid-studio.github.io TTL: Auto -
Wait for DNS propagation (5-15 minutes)
- Check status:
dig install.tfgrid.studio
- Check status:
- After DNS propagates, return to GitHub Pages settings
- Check Enforce HTTPS (may take a few minutes to become available)
Once DNS is live, test it:
# Test the landing page
curl -I https://install.tfgrid.studio
# Should return: HTTP/2 200
# Test the installer script
curl -sSL https://install.tfgrid.studio/install.sh | head -n 5
# Should show the script content
# Test full installation (if you want)
curl -sSL https://install.tfgrid.studio/install.sh | shThe installer can be accessed two ways:
-
Via root domain (recommended for curl):
curl -sSL install.tfgrid.studio | shThis needs special configuration (see below)
-
Via explicit path (always works):
curl -sSL install.tfgrid.studio/install.sh | sh
To make install.tfgrid.studio (without /install.sh) work:
Option A: Rename install.sh to index.html (not ideal for scripting)
Option B: Use a redirect in index.html:
<script>
if (window.location.pathname === '/' &&
navigator.userAgent.includes('curl')) {
window.location.href = '/install.sh';
}
</script>Option C: Use GitHub Actions to serve script at root (recommended)
For now, use: curl -sSL install.tfgrid.studio/install.sh | sh
- Repository pushed to GitHub
- GitHub Pages enabled
- DNS CNAME record added
- DNS propagated (
dig install.tfgrid.studio) - HTTPS enabled
- Landing page loads at
https://install.tfgrid.studio - Script downloads at
https://install.tfgrid.studio/install.sh - Installation works:
curl -sSL install.tfgrid.studio/install.sh | sh
DNS not resolving:
- Wait longer (can take up to 48 hours, usually 15 min)
- Check DNS:
dig install.tfgrid.studio - Verify CNAME points to
tfgrid-studio.github.io
404 errors:
- Ensure GitHub Pages is enabled
- Check branch is
mainand folder is/ - Verify files are committed and pushed
HTTPS not available:
- Wait for DNS to fully propagate
- Can take 10-15 minutes after DNS is live
- GitHub needs to provision SSL certificate
Once live, update:
- tfgrid-website - Change install command to one-liner
- tfgrid-docs - Update installation docs
- tfgrid-compose README - Add one-line installer
Enjoy your professional installer! 🚀