Upgrading to the NodeJS based version of Pilothouse - Pilothouse-App/Pilothouse GitHub Wiki
The NodeJS version of Pilothouse is a complete rewrite, with a number of exciting improvements, but also some breaking changes from older Bash-based versions of Pilothouse.
First, there are a few notable things you should be aware of:
- Pilothouse is now managed by NPM. Instead of pulling down the latest commits using git from the Pilothouse repo in order to update to a new version, simply run
npm update -g pilothouse
. - All sites now have SSL support automatically available out-of-the-box. You no longer need to generate an SSL certificate on a per-site basis.
- All site's Nginx configurations are now generated dynamically for each local site. While you shouldn't normally need to override the auto-generated config, advanced users can do so if desired.
- All site-specific settings, such as the config.yml settings file or the site-specific nginx override config file are now contained in the site's root directory.
- The Pilothouse service configuration directory is now
~/.pilothouse
. Any configuration file overrides should be placed there.
With that background information in place, you can proceed to update Pilothouse, and then update your local sites. While this process should not cause you to loose any data, it would not be a bad idea to backup your databases and sites directory anyway.
- Update Pilothouse
- Shut down legacy Pilothouse:
pilothouse down
- Remove the Pilothouse path you added to your shell profile when originally installing Pilothouse (probably something like
PATH="${HOME}/path/to/pilothouse/bin:$PATH"
). - If your sites directory is still in the old default location of
pilothouse/sites
, move it to ~/Sites. Note the capitalization ofSites
; that is important. (You can have your local sites directory be in a different location if you want, but the important thing is that it's not left inside the old Pilothouse directory, which will be deleted in the next step.) - After you've moved the sites directory out of the old Pilothouse directory, delete the old Pilothouse directory from your system. Don't worry, your Docker containers with your site's databases have not been touched.
- Install the new Pilothouse:
npm install -g pilothouse
- Run
pilothouse up
.
- Shut down legacy Pilothouse:
- Update your local sites.
- Memcached has been replaced with Redis as the object cache backend. See https://github.com/Pilothouse-App/pilothouse/wiki/z%5BDeprecated%5D-Upgrading-from-Memcached-to-Redis for instructions on updating your local sites from Memcached to Redis.
- Any site-specific settings, such as WordPress uploads proxy or additional hosts which were previously located in the Nginx config should be defined in a site-specific configuration file.
- If you have previously generated an SSL certificate for the site, delete its two certificate files from the site root directory (
sitename.key
andsitename.cert
). It won't hurt anything if you leave them there, but they're no longer used for anything. SSL is now available globally and no site-specific SSL configuration or files are required. - If you have Xdebug configured in your IDE, change the remote path mapping from
/var/www/html/{sitename}
to/var/www/html/sites/{sitename}
.