node package manager


Publish your site to any host that supports SFTP

SFTP Publisher for Punch

Publish your Punch based sites to any host that provides SFTP access.

  • Install the package

    npm install punch-sftp-publisher
  • Open your Punch project's configurations (config.json) and add the following:

    "plugins": {
    	"publishers": {
    		"sftp": "punch-sftp-publisher" 
  • Also, you must define publish settings in the config.

    	"publish" : {
    		"strategy" : "sftp",
    		"options" : {
    				"host" : "hostname",
    				"username" : "sftpuser",
    				"port" : "22",
    				"private_key" : "/home/user/.ssh/id_rsa",
    				"upload_path" : "/var/www/"

You must specify server's hostname and your username to login. If you're using a private/public key to authenticate, make sure you specify the explicit full path to the private key (or provide the private key as a string). Files will be uploaded to the remote path specified as upload_path.

  • Then, you can publish your site by running punch publish (or punch p) command.