Use selected remote infrastructure
partialRemote connects selected background infrastructure to remote services. Application processes and the primary stores remain on your machine. Complete first installation for a new host. Do not repeat first setup to change an existing endpoint.
What runs where
| Local | Remote |
|---|---|
| BFF, Account, backend and .NET applications | Kafka broker1/2/3 |
| PostgreSQL, SeaweedFS/S3, OpenSearch, Dragonfly | ClamAV |
| Application proxy, authorization, encryption keys | Collabora |
| Mailbox data and provider connections | Tika and Qdrant |
The laptop setup does not create Coolify services. An operator must prepare endpoints, authentication, network access, and transfer of existing remote-bound state. Remote services do not need general SSH access to your machine.
Before the change
Preserve configuration, database, files, and key backups separately. Retain local volumes. Obtain all three Kafka advertised endpoints, expected cluster ID, separate app/admin credentials, scanner/extractor tokens, Collabora origin, and Qdrant API key.
All Kafka endpoints must be reachable from local containers. Plain SASL is allowed only over the supported encrypted Tailscale path. Other remote Kafka transport requires TLS. Check HTTPS certificates and exact service hostnames.
Keep PostgreSQL, S3, OpenSearch, and Dragonfly local settings. Fill the root remote block. Coolify variable names do not resolve as remote passwords in a laptop .env.
Prepare the Office callback
Remote Collabora reads the original file through the local BFF's restricted, authenticated WOPI routes. Browser assets and the document WebSocket remain on the BFF origin. The renderer must reach the local HTTPS callback and trust its certificate.
Allow only the selected renderer source and short-lived file-bound read grants. Keep admin and conversion endpoints private. Do not weaken callback restrictions to repair an empty preview. Message reading and original download are separate from renderer availability.
Change an existing installation
- Inspect
bash devstack.sh status. Agree on downtime and one full active instance before cold bootstrap. - With original settings, run
bash stopDevServer.sh. Volumes remain. - Have the operator transfer and read back existing Kafka/Qdrant state with application writers stopped.
- Set
ECS_DEPLOYMENT_MODE=partialRemote,ECS_REMOTE_SIMULATION=false, and the required remote fields. Runbash devstack.sh validate. - Run
bash restartDevServers.shto resume saved modes, or add--prodto explicitly choose production.
Missing selectors preserve full-local behavior. partialRemote with simulation true uses real local services. Simulation does not check remote readiness or reduce local capacity.
The local stop does not stop real remote Coolify services. Retained local replacement volumes can become stale after remote writes. Before returning to fulllocal / false, check freshness and complete any required reverse transfer. Retain inactive remote fields if useful.
Remote mode rejects reset and cleanup, including simulation. Remote data deletion is unsupported. Do not switch to local placement to bypass the guard. Local reset, --reset, and down -v can delete data.
Check the result
Inspect status, Account login, mailbox reading, search, and confirmation of a permitted change. For Office, open an actual document page. For knowledge, check file processing, retrieval, and original download. Container health alone does not prove the full workflow.
For Kafka identity, metadata, or role failures, check remote configuration. There is no silent local fallback. For Office failures, inspect BFF-to-renderer callbacks. Scanner failures need normal recovery without releasing unchecked files. Exclude secrets and configuration dumps from reports.