kopia lustrzana https://github.com/piku/piku
				
				
				
			Features before tooling
							rodzic
							
								
									9dfba4084a
								
							
						
					
					
						commit
						a433a68a1d
					
				
							
								
								
									
										59
									
								
								README.md
								
								
								
								
							
							
						
						
									
										59
									
								
								README.md
								
								
								
								
							| 
						 | 
				
			
			@ -61,6 +61,34 @@ I kept finding myself wanting an Heroku/CloudFoundry-like way to deploy stuff on
 | 
			
		|||
 | 
			
		||||
You can also deploy a `gh-pages` style static site using a `static` worker type, with the root path as the argument, and run a `release` task to do some processing on the server after `git push`.
 | 
			
		||||
 | 
			
		||||
### Virtual Hosts and SSL
 | 
			
		||||
 | 
			
		||||
`piku` has full virtual host support - i.e., you can host multiple apps on the same VPS and use DNS aliases to access them via different hostnames. 
 | 
			
		||||
 | 
			
		||||
`piku`  will also set up either a private certificate or obtain one via [Let's Encrypt](https://letsencrypt.org/) to enable SSL.
 | 
			
		||||
 | 
			
		||||
If you are on a LAN and are accessing `piku` from macOS/iOS/Linux clients, you can try using [`piku/avahi-aliases`](https://github.com/piku/avahi-aliases) to announce different hosts for the same IP address via Avahi/mDNS/Bonjour.
 | 
			
		||||
 | 
			
		||||
### Caching and Static Paths
 | 
			
		||||
 | 
			
		||||
Besides static sites, `piku` also supports directly mapping specific URL prefixes to filesystem paths (to serve static assets) or caching back-end responses (to remove load from applications).
 | 
			
		||||
 | 
			
		||||
These features are configured by setting appropriate values in the [`ENV`](./docs/ENV.md) file.
 | 
			
		||||
 | 
			
		||||
### Supported Platforms
 | 
			
		||||
 | 
			
		||||
`piku` is intended to work in any POSIX-like environment where you have Python, `nginx`, [`uWSGI`][uwsgi] and SSH: it has been deployed on Linux, FreeBSD, [Cygwin][cygwin] and the [Windows Subsystem for Linux][wsl].
 | 
			
		||||
 | 
			
		||||
As a baseline, it began its development on an original 256MB Rasbperry Pi Model B, and still runs reliably on it.
 | 
			
		||||
 | 
			
		||||
But its main use is as a micro-PaaS to run applications on cloud servers with both Intel and ARM CPUs, with Debian and Ubuntu Linux as target platforms.
 | 
			
		||||
 | 
			
		||||
### Supported Runtimes
 | 
			
		||||
 | 
			
		||||
`piku` currently supports apps written in Python, Node, Clojure, Java and a few other languages (like Go) in the works.
 | 
			
		||||
 | 
			
		||||
But as a general rule, if it can be invoked from a shell, it can be run inside `piku`.
 | 
			
		||||
 | 
			
		||||
## Install
 | 
			
		||||
 | 
			
		||||
`piku` can manage multiple apps on a single machine, and all you need is a VPS, Raspberry Pi, or other server.
 | 
			
		||||
| 
						 | 
				
			
			@ -70,7 +98,7 @@ There are two main ways of deploying `piku` onto a new server:
 | 
			
		|||
* Use [`piku-bootstrap`](https://github.com/piku/piku-bootstrap) to reconfigure a new or existing Ubuntu virtual machine.
 | 
			
		||||
* Use `cloud-init` when creating a new virtual machine or barebones automated deployment (check [this repository](https://github.com/piku/cloud-init) for examples).
 | 
			
		||||
 | 
			
		||||
### `piku` client
 | 
			
		||||
## Manage - via the `piku` helper
 | 
			
		||||
 | 
			
		||||
To make life easier you can also install the [piku](./piku) helper into your path (e.g. `~/bin`).
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -113,36 +141,9 @@ piku@piku:~/.piku/apps/dashboard$ ls
 | 
			
		|||
data  ENV  index.html  package.json  package-lock.json  Procfile  server.wisp
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Virtual Hosts and SSL
 | 
			
		||||
 | 
			
		||||
`piku` has full virtual host support - i.e., you can host multiple apps on the same VPS and use DNS aliases to access them via different hostnames. 
 | 
			
		||||
 | 
			
		||||
`piku`  will also set up either a private certificate or obtain one via [Let's Encrypt](https://letsencrypt.org/) to enable SSL.
 | 
			
		||||
 | 
			
		||||
If you are on a LAN and are accessing `piku` from macOS/iOS/Linux clients, you can try using [`piku/avahi-aliases`](https://github.com/piku/avahi-aliases) to announce different hosts for the same IP address via Avahi/mDNS/Bonjour.
 | 
			
		||||
 | 
			
		||||
## Caching and Static Paths
 | 
			
		||||
 | 
			
		||||
Besides static sites, `piku` also supports directly mapping specific URL prefixes to filesystem paths (to serve static assets) or caching back-end responses (to remove load from applications).
 | 
			
		||||
 | 
			
		||||
These features are configured by setting appropriate values in the [`ENV`](./docs/ENV.md) file.
 | 
			
		||||
 | 
			
		||||
## Supported Platforms
 | 
			
		||||
 | 
			
		||||
`piku` is intended to work in any POSIX-like environment where you have Python, `nginx`, [`uWSGI`][uwsgi] and SSH: it has been deployed on Linux, FreeBSD, [Cygwin][cygwin] and the [Windows Subsystem for Linux][wsl].
 | 
			
		||||
 | 
			
		||||
As a baseline, it began its development on an original 256MB Rasbperry Pi Model B, and still runs reliably on it.
 | 
			
		||||
 | 
			
		||||
But its main use is as a micro-PaaS to run applications on cloud servers with both Intel and ARM CPUs, with Debian and Ubuntu Linux as target platforms.
 | 
			
		||||
 | 
			
		||||
## Supported Runtimes
 | 
			
		||||
 | 
			
		||||
`piku` currently supports apps written in Python, Node, Clojure, Java and a few other languages (like Go) in the works.
 | 
			
		||||
 | 
			
		||||
But as a general rule, if it can be invoked from a shell, it can be run inside `piku`.
 | 
			
		||||
 | 
			
		||||
[dokku]: https://github.com/dokku/dokku
 | 
			
		||||
[raspi-cluster]: https://github.com/rcarmo/raspi-cluster
 | 
			
		||||
[cygwin]: http://www.cygwin.com
 | 
			
		||||
[uwsgi]: https://github.com/unbit/uwsgi
 | 
			
		||||
[wsl]: https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue