kitshn

Deploys GitHub repos onto a VPS you own. Push to main and it is live. Open a pull request and it gets its own preview.

brew install yarden-zamir/tap/kitshn
or read the README
On the pass

Live right now

    Each ticket is a real recipe on this VPS. Its badge is a live image from this server.

    The flow

    From a repo to a site

    1. kitshn init --template static

      Writes the recipe: a Compose file, a Caddy route for each environment, and the GitHub workflow.

    2. kitshn recipe auth --vps-host you@vps

      Gives the repo's workflow an SSH key for your VPS. Run it before the first push.

    3. git push

      GitHub Actions SSHes in and deploys. A pull request deploys a preview at its own hostname.

    4. kitshn track

      Follows the run, checks the VPS, and requests the public URL, all from your laptop.

    Badges

    Put the state in the README

    Public repos deployed with KitSHn get live badges from this server. They show what the VPS runs: the state of each environment, the deployed commit, and the pull request previews.

    Badge
    Previews
    Badge preview
    Markdown
    
            

    Prefer shields.io

    Every badge also answers as JSON in the shields.io endpoint format. Use it to get shields' styles, such as for-the-badge:

    Through shields.io
    
          

    Or use no KitSHn server at all: shields' own GitHub Deployments badge shows the state of the latest deploy. It cannot show previews or the commit.

    No server