Run Circlus on your server.
This is the manual path for early adopters: prepare a VPS, point a domain to it, deploy the open-source Circlus server with Docker or manually, then return to the app to create your first private circle.
Before you open the app
Circlus needs a real HTTPS address before the app can send a server access key. Do not enter a server access key on plain HTTP.
A VPS
A small Linux VPS is enough to start. Choose a provider you trust and keep SSH access private.
A domain
Point a domain or subdomain to the VPS. A bare IP is only acceptable if HTTPS works with a valid certificate.
HTTPS
Use a reverse proxy such as Caddy or Nginx and a TLS certificate. Caddy can issue certificates automatically.
Managed services
Background push notifications and reliable TURN relay access require a separate managed services request.
Manual setup flow
Start from the open-source repository. Use Docker Compose for the shortest path, or run PostgreSQL, the server, and supporting services manually if you prefer.
Rent and prepare a VPS
Create a Linux VPS, add SSH keys, install the runtime described in the repository, and keep firewall rules minimal.
Point a domain to the server
Create an A or AAAA DNS record, for example circle.example.com, pointing to the VPS public IP.
Deploy the Circlus server
Clone the repository, configure environment variables, initialize the database, and start the backend process. The repository documents both Docker and non-Docker setup paths.
Put HTTPS in front of it
Configure the web server or reverse proxy so https://circle.example.com forwards API requests to the running Circlus backend.
Generate a server access key
Use the server-side command from the repository to create a short-lived access key. Treat it like a password.
Request managed services when needed
The server can be used while the request is pending. Messaging and most server features work immediately, while push notifications and TURN relay access wait for approval.
Create the first circle in the app
Open Circlus, choose the empty-server setup flow, enter the HTTPS domain and access key, and let the app create the first circle, owner identity, and server admin access.
Add more circles later
After the first circle is active, create additional circles from Server Management. Those circles require a server admin identity instead of the host access key.
Managed services access
Your server can be installed and used before this is approved. Messaging, circles, identities, and direct peer-to-peer calls can work immediately; approval enables push notifications and managed TURN relay.
Request credentials
The form generates server-to-service push and ICE credentials for your Circlus server. Save the generated environment variables right away, then wait for approval.
The request sent to Circlus contains your contact and server id, but not direct push provider or coturn secrets.
Save this in your server environment
The shared secrets are shown here once. The request will stay pending until Circlus approves the server id.
Security rules worth keeping
Use HTTPS only
The server access key must be sent only over HTTPS. Plain HTTP is acceptable only for local development on a machine you control.
Keep the key short-lived
Generate a fresh key for setup, use it once, and revoke or let it expire. Do not store it in notes or chat history.
Separate host and circle roles
A host access key proves control over an empty server. When the first circle is claimed, that owner identity also receives server admin access for future server management.
Keep backups
Back up the database and server configuration. Losing the VPS should not mean losing control over your circles.
Ready to wire it up?
Start from the repository instructions, then return to the Circlus app when your HTTPS server is reachable.
Open GitHub