One command installs everything with Docker.
Run your CRMon a serveryou control
A self-hosted CRM costs a small server and a few hours a year. Here is what you need, what it costs, and how backups and updates work.
Rather not run a server? Reloop Cloud does it for you. See pricing
Requirements
What you need
Four things. The installer takes care of the rest.
A Linux server with 4 GB of RAM
Docker runs Postgres, the API, the web app and the agent side by side. 2 GB works for one user and leaves little room. The images are built for amd64 and arm64.
20 GB of free disk
For the images, the database and the backups. Years of mailbox history fit with room to spare, because the text of an email is small.
Docker
The installer sets Docker up when it is missing. On macOS it starts OrbStack or Docker Desktop, and installs OrbStack when neither is there.
A domain
Point a DNS record at the server and open ports 80 and 443. The bundled Caddy fetches a certificate. Behind your own reverse proxy, answer one question and Caddy stays off.
Costs
What it costs
The software is free under the AGPL. The server is the whole bill. A virtual server with 4 GB of RAM is a standard size at every hosting provider. There is no per seat price, so the bill stays the same when the whole team signs in.
AI is optional and pay as you go
With OpenRouter you buy prepaid credits and the agent spends them per token. Without a key the CRM costs nothing beyond the server.
Updates are two commands
The install is one session at a terminal. Updates are two commands in the deploy folder:
docker compose pull, docker compose up -d. The API applies database migrations when it starts. Read the changelog first, and make a dump before you pull.Backups
Everything lives in the postgres-data volume and in deploy/.env. Without that .env file the database cannot be opened again, so back up both. A nightly pg_dump is one cron line. The docs print it.
Install
What the installer does
One command installs everything with Docker. It asks for a domain, an email and a password.
curl -fsSL https://reloopcrm.com/install.sh | shIt installs into ~/reloop/deploy. It generates the secrets with openssl, writes deploy/.env with permissions 600, pulls the images and creates the owner account. Running it again keeps your .env file and never touches the database volume.
Cloud
Self-hosted or hosted?
A hosted CRM gives you no server to run and a support desk to call. If nobody on the team will open a terminal, Reloop Cloud does it for you. The plans are on the pricing page. The comparison with HubSpot lays hosted and self-hosted side by side.
FAQ
Questions people ask
Do I need to know Docker?
No. The installer sets Docker up and starts everything. Two Docker Compose commands cover updates, and the docs show them.
Can I run it on localhost first?
Yes. Press Enter at the domain question and the app opens at http://localhost:3000. Sign-in works there, because the session cookie drops the secure prefix on plain http.
What happens if I lose the server?
Restore the last pg_dump and deploy/.env on a new server, then run the installer again. Without the .env file the database cannot be opened, so back up both.
How do I stay on one version?
Set RELOOP_VERSION in deploy/.env to a version number. Updates then wait until you change it.