Skip to main content
This guide will explain how to set up Coral using Docker Compose with your choice of SQLite or Postgres as the backing DB. We will use <coral-host> as the placeholder for the domain of your Coral deployment.
  1. Create a compose file with the following contents on your working directory:
  • See the Configuration Reference for more details on the configuration options.
  • This compose file exposes no ports. Depending on how you intend to do TLS termination, either add the TLS termination container to this compose file (e.g. Caddy) or expose the ports 14556 (mcp), 8779 (auth) and 3000 (UI) to your reverse proxy so it can forward calls to Coral.
  • Coral’s gRPC should not be exposed outside the compose network. Be mindful the server is plaintext with no encryption.
Coral will save both the SQLite DB files and the encryption key for sensitive data in the coral-state volume.
  1. Create an .env file that will hold the credentials used by Coral
  1. Start Coral with docker compose up -d
  2. Start your reverse proxy for TLS termination. If you don’t have one, you can use Caddy by merging it into the compose file:
Caddyfile:
  1. You should be able to open the UI in your browser in https://<coral-host>. After you create your first workspace you can use the UI instructions to connect an MCP client via https://mcp.<coral-host>.