A Linux VPS
A small VPS is enough for a private Circle. Keep SSH access restricted and expose only the ports you actually need.
Prepare a VPS and domain, deploy the open-source Circlus server, enable HTTPS, then return to the app to create your first private Circle.
The app needs a real HTTPS server address. Never send a server access key over plain HTTP.
A small VPS is enough for a private Circle. Keep SSH access restricted and expose only the ports you actually need.
Point a domain or subdomain to the VPS. The Circlus server resolves Circles using the incoming host name.
Put Caddy, Nginx, or another reverse proxy with a valid TLS certificate in front of the Circlus server.
Background push notifications and reliable TURN relay require a separate managed-services request. The core server can run while approval is pending.
Docker Compose is the recommended production path. A manual Node.js and PostgreSQL setup remains available for advanced deployments.
Create a Linux VPS, add SSH keys, install Docker and Docker Compose, and keep PostgreSQL off the public internet.
Create the required DNS record and wait until it resolves to the public address of the server.
Clone the open-source repository, copy the minimal environment file, set unique secrets, and start the Docker Compose stack.
Configure the reverse proxy to preserve the original Host header, then verify that the public /health endpoint returns ok.
Run the server-admin claim command from the README. Treat the generated token as a password and use it once.
Open Circlus, connect the empty server using its HTTPS address and claim token, then create the owner identity and first Circle.
Arrange database and configuration backups, updates, monitoring, and managed push/TURN access if you need it.
Messaging, identities, and direct peer-to-peer calls can work before approval. Managed access enables background push delivery and TURN relay for restrictive networks.
The form creates server-to-service push and ICE credentials. Save the generated environment variables immediately and wait for approval.
The request contains your contact and server ID, but not direct push-provider or coturn secrets.
The shared secrets are shown once. The request remains pending until Circlus approves the server ID.
The Circle owner and the server administrator may be different people, but infrastructure still needs deliberate maintenance.
Send access keys only over HTTPS. Plain HTTP is acceptable only for local development on a machine you control.
Generate a fresh token, use it once, and let it expire or revoke it. Do not store it in notes or chats.
Back up PostgreSQL, the server environment, reverse-proxy configuration, and external attachment storage.
Back up first, apply published migrations, and verify /health and the main client flows after an update.
Create the first Circle in the app, then use the owner guide for invitations and daily management. If this server will receive an existing Circle, follow the migration guide instead.