Guided setup

Self-host Coop

A complete setup path for company owners, operations teams, and IT administrators.

Coop turns a Mac running Apple Messages into a shared team inbox. A self-hosted installation still has several parts because each part has a different job:

Prefer an AI-guided setup?

Give your assistant the complete official documentation, answer a short interview, and work through only the steps your company needs.

Set up with an AI agent
PartWhat it doesRecommended service
DashboardThe browser inbox your team usesVercel or Cloudflare
ClerkSign-in and verified identityClerk
Coop APIAccess rules, sync, and message coordinationRailway or Fly.io
PostgreSQLOrganizations, conversations, and encrypted message recordsSupabase
RedisEncrypted recipient-search indexRailway Redis or another managed Redis
S3-compatible storageEncrypted attachment filesSupabase Storage, Cloudflare R2, AWS S3, or MinIO
Coop RelayConnects the API to Apple MessagesAn always-on Mac
Recommended first installation

Use Supabase for PostgreSQL and Storage, Railway for the API and Redis, Vercel for the dashboard, and Clerk for sign-in. This path has the fewest manual infrastructure steps.

What “self-hosted” means here

You control the Coop application, its configuration, the database account, the storage account, the deployment accounts, and the Mac. Clerk, Supabase, and the selected hosts are still external processors. If company policy requires every dependency to run on infrastructure that you operate, use your own PostgreSQL, Redis, and S3-compatible storage and review Clerk as a separate identity decision.

Coop encrypts private message content and attachments at rest with your DATA_ENCRYPTION_KEY. The API must decrypt data for authorized users, so this is server-managed encryption, not end-to-end encryption between Relay and the browser.

Setup order

Follow the pages below in order. Record account ownership and URLs as you go. Do not deploy the API before you have the database, Redis, storage, Clerk, and encryption values ready.