● pico.sh
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
- Free tier: 25MB storage, most features included
- pico+ tier: $2/month billed yearly, 10GB storage, analytics, IRC bouncer https://pico.sh/plus
- Global CDN: Multi-region edge caching
- Custom domains: Simple DNS configuration
- Redirects & rewrites:
_redirectsfile like Netlify - Custom headers:
_headersfile for security headers, caching, CORS - Additional services:
tuns.shfor HTTPS/WSS/TCP tunnels to localhostprosefor blog platform via SSHpipefor authenticated Unix pipespastesfor code snippets- RSS-to-email service
- Open source: https://github.com/picosh/pico/
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.
- Links to
- 11ty build · manuscript workflow · digital garden · obscure Netlify workaround