pico.sh

538 2026-08-14 note ♂︎ ☿︎

pico.sh is an SSH-powered hosting platform that deploys static sites with a single rsync command. The workflow is radically simpler than GitLab Pages or Netlify: no CI/CD configuration, no dashboards, no build pipelines. Your SSH key is your identity, and projects are created on first upload.

Deployment Comparison

pico.sh: rsync -rv ./public/ pgs.sh:/mysite/ is the single command, and it deploys instantly. Projects are upserted on file upload, TLS certificates are automatic, and rollbacks happen via symbolic links. It uses commands like rsync, scp, sftp, sshfs. https://pico.sh/pgs

GitLab Pages: Requires a .gitlab-ci.yml file with a pages job, builds run on GitLab runners, deploys from a public/ folder. Integrated with Git workflow but more setup overhead. Free with GitLab hosting, custom domains with Let's Encrypt. https://docs.gitlab.com/user/project/pages/

Netlify: Git-based deployment with automatic build detection, or drag-and-drop folder upload. Preview URLs for every branch, global CDN, but more complex feature set with serverless functions, databases, auth. Credit-based pricing even for free tier. https://netlify.com/pricing

pico.sh Features

Trade-offs

pico.sh trades the Git integration and CI/CD sophistication of GitLab Pages and Netlify for raw simplicity. There's no automated build step, you run your 11ty build locally, then rsync the output. This is good for something like manuscript workflow where a post-commit hook already generates the deploy artifact.

The lack of Git integration means no automatic preview URLs per branch, but also no commit-linked deploy history to manage. For a digital garden that's manually curated rather than branch-heavy, this is a feature, not a bug.

Compared to the obscure Netlify workaround, pico.sh would be even simpler for the URLminder use case, no Netlify account, no netlify deploy --prod, just rsync the rendered file directly. The trade is giving up Netlify's dashboard and deploy history for SSH-native simplicity.