Skip to main content
Shipways provisions Ubuntu machines, serves sites on them and deploys to those sites. It puts nginx, PHP-FPM, Supervisor, Redis and a database engine on a machine you rented from somebody else, and then keeps track of what it did so that the next change is a form rather than an SSH session. It is not a hosting provider. You buy the machine, you keep paying for it, and you can take Shipways off it again without any of it going away.

What runs where

Two pieces: The panel is what you are looking at. It holds the record of every server, site, database and certificate, and it queues work. The agent runs on every managed server. It polls the panel over HTTPS for work, runs it, and streams the output back. Because it reaches out rather than being reached, a managed server needs no inbound firewall rule for Shipways, and a machine that has moved to a new address goes on working. Every server holds its own bearer token, so a compromised machine can only ever speak for itself. Agents in the field outlive panel releases, so the agent version is reported on every heartbeat rather than assumed.

What a machine has to be

A fresh Ubuntu 22.04 or 24.04 machine that Shipways can reach over SSH as root. Fresh matters. Provisioning replaces the SSH, firewall and web server configuration, so pointing Shipways at a machine that is already serving something will take that something down.

Where to start

  1. Connect a server. Provisioning starts by itself once the agent reports in.
  2. Add a site. It serves a holding page straight away; nothing is deployed until you ask for it.
  3. Point DNS at the machine, then request a certificate.
  4. Deploy.

The shape of the panel

Everything belongs to an organization. Servers and sites both have their own tabs, and both of those tabs are separate pages so each one only loads what it shows and can be linked to directly. Anything that touches a machine is queued as a task and streams its output while it runs. That includes provisioning, deployments, certificate requests, database work and recipes. If nothing is running your queue worker, every one of those buttons will appear to do nothing — which is why the panel raises an alert when tasks pile up with nothing to run them.