{"repo":"picosh/pgs","free":true,"listed":false,"github":"https://github.com/picosh/pgs","clone":"git clone https://github.com/picosh/pgs.git","description":"A self hostable, static site hosting service using `ssh`","language":null,"stars":23,"topics":[],"license":null,"category":"self-hosted-apps","readme_excerpt":"pgs - self-host A self hostable, static site hosting service using ssh . features - Fully manage static sites using ssh - Unlimited projects, created instantly upon upload - Deploy using rsync , sftp , sshfs , or scp - Github Action - Automatic TLS for all projects - Promotion and rollback support - Custom domains for projects - Custom Redirects & Rewrites - Custom Headers - SPA support - HTTP Caching (RFC-7234) - Image manipulation API - Prometheus integration [!IMPORTANT] We provide a fully managed version of this service at pgs.sh. deps - docker - caddy (on-demand tls) - imgproxy (image manipulation api, optional) setup Create .env file: docker This is the only recommended way to self-host pgs . [!IMPORTANT] We recommend using docker-compose : See our docker-compose.yml file. docker compose Our example docker-compose file assumes your DNS is managed by Cloudflare. If you want to verify your domains using some other caddy provider then go to the caddy docs to learn how to do that: https://github.com/caddy-dns There are also a couple of important environment variables that are required inside our Caddyfile. The default port for the SSH app is 2222 but you are free to change it to whatever you want, including 22 . setup user account Copy your public key: After the pgs container is running, create your user account: Now you should be able to copy files to the SSH app! local dev For local development you need to add host entries for each project. For example, add entries to /et","default_branch":null,"files":null,"tree":[],"storefront":"/r/picosh","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/picosh/pgs/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}