Requirements
Before installing Copula self-hosted, make sure the target server meets the requirements below. The provisioning wizard verifies most of them during its pre-flight step, but checking them upfront saves a failed run.
Server
- A Linux host reachable over SSH. The installer connects to the server over SSH (default port
22) and deploys the stack with Docker. - An SSH user with passwordless sudo. During provisioning, files are staged into the SSH user's home directory over SFTP and then installed with
sudo -n install. The deployment directory is/root/copula, which is not writable without sudo — so passwordless sudo is mandatory, not optional. - Docker. The wizard installs Docker automatically (the
install_dockerdeploy step), but the pre-flight check inspects the host before the deploy starts.
Network
- Ports
80and443must be free and reachable from the internet. In a provisioned installation, Caddy is the only service that publishes these ports. Let's Encrypt issues the TLS certificate via the HTTP-01 challenge, which requires port80to be reachable and the domain's DNS to already resolve to the server.
Domain
A domain is mandatory. You have two options:
- Custom FQDN — your own domain with an
Arecord pointing at the server's public IP. The record must exist before provisioning, otherwise certificate issuance fails. - Auto-generated subdomain — the cabinet can assign an
inst-<slug>.copul4.comsubdomain and manage its Cloudflare DNS record for you.