Deployment
Deploy your sukr site to any static hosting platform
sukr builds your site to public/. This directory contains self-contained static HTML, CSS, and assets — no server-side runtime needed. Upload it anywhere that serves static files. If you haven't built a site yet, start with the Getting Started guide.
Local Preview¶
Preview your site locally before deploying:
cd public
python3 -m http.server 8000
Open http://localhost:8000 in your browser.
GitHub Pages¶
- Push your repository to GitHub
- Build your site:
sukr - Deploy the
public/directory using one of:- GitHub Actions — add a workflow that runs
sukrand deployspublic/to Pages - Manual — push the
public/contents to agh-pagesbranch
- GitHub Actions — add a workflow that runs
Example workflow (.github/workflows/deploy.yml):
name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: cargo install --path .
- run: sukr
- uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
Netlify¶
- Connect your repository in the Netlify dashboard
- Set build command:
cargo install --path . && sukr - Set publish directory:
public
Netlify detects changes and rebuilds automatically on push.
Cloudflare Pages¶
- Connect your repository in the Cloudflare Pages dashboard
- Set build command:
cargo install --path . && sukr - Set build output directory:
public
Any Static Host¶
For any host that serves static files (S3, DigitalOcean Spaces, a VPS):
sukr
rsync -avz public/ user@server:/var/www/mysite/
Or use scp, aws s3 sync, or your host's CLI tool.
Security Headers¶
sukr outputs zero JavaScript, which means you can set a strict Content Security Policy that blocks all script execution. See Security for recommended CSP headers and platform-specific configuration.