guides
Moving off Coolify
Take apps over from Coolify one at a time, keep their data, and hand them back if anything is wrong.
Moving off Coolify
ServOS takes a Coolify server over one app at a time. Each app keeps its repository, build, domains, environment variables and data volumes. Nothing is copied and Coolify keeps serving until the moment ServOS’s containers start.
1. Add the server
Choose Add server and keep Let ServOS make a key. ServOS shows one line to run from your own machine, with the key you already use (RSA is fine; ServOS itself only uses Ed25519). ServOS checks it can log in before saving.
2. Connect Coolify’s GitHub App
Open the server’s Coolify tab. If your apps build from GitHub, choose Connect it: ServOS reads the GitHub App Coolify uses and connects it. No new App and no trip to GitHub.
3. Take apps over
The Coolify tab lists every application with how ServOS will run it:
- Coolify’s Docker Compose apps become Docker Compose stacks.
- Dockerfile and Nixpacks apps keep their build pack; Static apps build with Nixpacks.
- Domains, the container port, environment variables (read through Coolify itself, then stored encrypted) and volumes carry over. Coolify renames volumes; ServOS mounts the same Docker volumes by name, so data stays put.
- Anything that would stop the takeover is listed in red, and anything worth knowing in grey.
If Coolify’s record is out of date (a repository that moved, a compose file kept elsewhere), choose Build from a different source or port in the takeover dialog, or Choose source on an app Coolify’s record blocks. Give the repository, branch, base directory, compose file and the port each domain reaches. Volumes and variables still carry over.
Take over creates the service and deploys it:
- ServOS builds while Coolify keeps serving.
- It stops Coolify’s containers and starts its own on the same volumes. This takes seconds. Until the whole server is ServOS’s, traffic goes through Coolify’s proxy, so nothing else on the server is touched.
- If ServOS’s containers do not become healthy, Coolify’s start again on their own.
- Once healthy, Coolify’s auto-deploy for that app is switched off, so a push cannot bring the old containers back.
On the service page, Hand back to Coolify stops ServOS’s copy, starts Coolify’s containers and turns its auto-deploy back on. Finish removes Coolify’s stopped containers once you are sure.
4. Pushes
Taken-over apps deploy on push right away: ServOS checks their branches every minute. For instant deploys, give ServOS a public HTTPS address and choose Route webhooks to ServOS under Git. Do that after every app built from that GitHub App has been taken over, because Coolify stops hearing about pushes.
5. Remove Coolify
When every app shows moved, nothing on the server depends on Coolify. Remove it the way Coolify documents, then set up ServOS management for the server.