---
title: "Before installation"
description: "Plan server addresses, network ports, console access, and data storage before installing."
---

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

# Before installation

One server is enough to begin. Multiple servers need stable addresses through which they can reach each other.

## Server communication addresses

The address used between servers can differ from the public address used by your browser. Use a reachable private address where appropriate; loopback cannot serve as the address other servers use to reach this machine.

## Network and access

| Port | Purpose | Access |
| --- | --- | --- |
| TCP 9000 | Console and API | Management network or SSH tunnel |
| TCP 80, 443 | Pingress HTTP/HTTPS | Application clients |
| Published application ports | Direct application access | Intended clients |
| TCP 2377 | Management communication | Participating servers |
| TCP/UDP 7946 | Discovery and communication | Participating servers |
| UDP 4789 | Cross-server application traffic | Participating servers |

Check both cloud security rules and host firewalls. Keep server communication ports restricted to participating machines. See [Docker networking requirements](https://docs.docker.com/engine/network/drivers/overlay/#requirements).

For remote administration:

```sh
ssh -L 9000:127.0.0.1:9000 your-user@server.example.com
```

Keep the session open and visit `http://localhost:9000`. The first application also needs port 8080 forwarded.

## Data planning

Choose a storage server and backup procedure before creating a stateful application. A domain is optional for your first deployment. For IPv6, check addresses, routes, and firewalls, then read the [networking FAQ](/docs/guides/networking/faq/).

Continue to [installation](/docs/getting-started/installation/).

Source: https://cdelivery.dev/docs/getting-started/requirements/index.mdx
