Initialize Server
Before creating a project, you need to connect a server to Depfloy. Servers are the Linux machines your applications run on. You can either let Depfloy provision a new server through a connected provider (Hetzner today), or you can bring your own server — any clean Ubuntu machine you can reach over SSH.
Server types
Pick the server type that matches what you'll do on it. Depfloy provisions the right software stack for each.
- App Server — runs your web applications. Comes with nginx, PHP, and the build tooling needed to deploy projects. The most common type.
- Database Server — dedicated to a database engine. Pick MySQL, PostgreSQL, or ClickHouse during setup. See Database Server.
- Cache Server — runs Redis (or Valkey) as a dedicated cache instance. Useful when you want cache traffic isolated from your app server. See Cache Server (Redis).
- Meilisearch Server — runs Meilisearch as a dedicated search instance. See Meilisearch Server.
- Load Balancer — distributes traffic across multiple App Servers. See Load Balancer.
You can mix server types within the same organization — for instance, an App Server, a separate Database Server, and a Load Balancer in front of multiple App Servers.
Server requirements
Depfloy supports a clean install of:
- Ubuntu 20.04
- Ubuntu 22.04
- Ubuntu 24.04 (recommended)
The server should also:
- Be reachable from the public internet over SSH
- Allow root SSH access (Depfloy disables password-based root login during provisioning)
- Have at least 1 CPU core, 1 GB RAM, and 10 GB free disk
- Have
curlavailable - Not be throttling SSH from Depfloy at the network or firewall level
- Not have antivirus software interfering with installation
If your server is behind NAT and the public SSH port differs from the internal SSH port, tick the This server is behind a NAT checkbox during setup and provide the internal port. Depfloy will configure the firewall to match.
Connecting a provider (Hetzner)
If you connect a Hetzner Cloud project under Configuration → Server Providers, Depfloy can create the server for you in minutes — no command line needed.
Adding a server
- Open the Console.
- Click Add Server in the header.
- Give the server a name and pick its type.
- Pick a provider (Hetzner or Custom Setup).
- Optional: tag the server with an environment (Production / Staging / Dev) so it's easier to find in your sidebar.
Hetzner setup
Pick the location, instance size, and any extras (private network), then click Create Server. Depfloy creates the machine on Hetzner, attaches its SSH key, and starts the install — you do not need to log into Hetzner directly.
Custom setup
Pick Custom Setup instead and enter the server's public IP. Depfloy gives you a one-line bootstrap command to paste into a root SSH session on your server. Once the script finishes (typically 10-15 minutes), Depfloy detects the connection and the server is ready.
What happens during install
While the server is being prepared, opening it in the Console shows the Server Setup screen with progress and (for Custom Setup) the bootstrap command. When the install finishes, the server switches to its normal management view.
If install fails, the Setup screen shows where it stopped and what to try next.
Environment tagging
Every server can be tagged with an environment: Production, Staging, or Dev. Tags are optional — leave a server untagged if it doesn't fit a category — but they earn their keep when you have a lot of servers:
- Filter the sidebar by environment
- Group the sidebar by environment so production servers always sit together
- Spot at a glance which alerts came from production vs. dev
You can tag a server during creation or change it later from the Server Overview.
You'll be notified when ready
You'll receive a notification when the server is fully set up and ready for projects. From this point you can create your first project.