It’s not a good idea to repeat the quick start process every time you want to update your capsule. So let’s automate it!
First, create a repository on git.sr.ht or hg.sr.ht named after your capsule (e.g. “your-username.srht.site”), and push your capsule’s source code to it.
Unfamiliar with git or hg? Check out the tutorial.
We’ll be using builds.sr.ht to automate building and deploying our capsule. Create a file named “.build.yml” and fill it in with this template:
image: alpine/latest oauth: pages.sr.ht/PAGES:RW packages: - hut environment: site: your-username.srht.site tasks: - package: | cd $site tar -cvz . > ../site.tar.gz - upload: | hut pages publish -d $site -p GEMINI site.tar.gz
hut is a CLI tool to interact with the sr.ht APIs. It uses an OAuth 2.0 token generated on-the-fly with the permissions requested by the "oauth" directive - in this case, only enough to deploy your site.
Update the site variable to your desired domain (e.g. “your-username.srht.site”). You can also add additional steps under tasks and package to call a static capsule generator and bundle your capsule differently. Once you’re done, commit this file to your repository and push. A URL will be printed to your console which you can click on to follow the progress on deploying your capsule. Once it’s done, that’s it - your capsule will be re-published every time you push.
For more information about using builds.sr.ht, consult the builds.sr.ht documentation: