> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shipways.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# What Shipways is

> A control panel for servers you own, running the software you already know.

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](/servers/connecting). Provisioning starts by itself once
   the agent reports in.
2. [Add a site](/sites/creating). It serves a holding page straight away;
   nothing is deployed until you ask for it.
3. [Point DNS at the machine](/sites/domains), then
   [request a certificate](/sites/certificates).
4. [Deploy](/sites/deployments).

## The shape of the panel

Everything belongs to an [organization](/organizations). 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](/alerts) when tasks pile up with nothing to run them.
