Closed beta
Anyone can get an invite!
The only requirement is to stay in our IRC channel and be willing to provide feedback on how we can improve the service.
Join our IRC channel #pico.sh @ libera.chat and ask for an invite.
Examples
- The site you are reading right now
- git web viewer
- neovimcraft
Features
- Terminal workflow
- No client-side installation required to fully manage static sites
- Distinct static sites as
projects
- Unlimited projects created on-the-fly (no need to create a project first)
- Deploy via
scp -r ./public/* erock@pgs.sh:/myproject
- Promotion/rollback support (via symbolic linking from one project to another)
- Managed HTTPS for all projects (e.g. https://erock-myproject.pgs.sh)
- Custom domains for projects (managed simply by `TXT` records)
- 1GB max storage
- 50MB max file size
- All assets are public-only
- Only web assets are supported
Create your account with Public-Key Cryptography
We don't want your email address.
To get started, simply ssh into our content management system:
ssh new@pgs.sh
new
is a special username that will always send you to account
creation, even with multiple accounts associated with your key-pair.
After that, just set a username and you're ready to start writing! When you SSH again, use your username that you set in the CMS.
Publish your site with one command
When your site is ready to be published, copy the files to our server with a familiar command:
scp -r * pgs.sh:/myproject
That's it! There's no need to formally create a project, we
create them on-the-fly. Further, we provide TLS for every project
automatically. In this case the url for the project above would
look something like https://{username}-myproject.pgs.sh
.
Manage your projects with a remote CLI
Our management system is done via ssh commands. Type the following command to learn more:
ssh pgs.sh help
Project promotion and rollbacks
Additionally you can setup a pipeline for promotion and rollbacks, which will instantly update your project.
ssh pgs.sh link project-prod project-d0131d4
A common way to perform promotions within pgs.sh is to setup CI/CD so every
push to main
would trigger a build and create a new project
based on the git commit hash (e.g. project-d0131d4
).
This command will create a symbolic link from project-prod
to project-d0131d4
. Want to rollback a release?
Just change the link for project-prod
to a previous project.
We also built a github action that handles all the logic for uploading to pgs.sh. Here's an example of it in action.
Philosophy
Creating a static website should be as simple as copying files from a local folder to a server. We also believe in creating limited but feature-rich products without the user needing to install anything on their computer.
Read more about team pico's philosophy here.
Roadmap
- Should we charge customers for more storage?
- Github integration (e.g. post comment on PR with preview site)