Setting Up Custom Servers
Here’s a simple FastAPI server implementation that shows how custom servers work in Cerebrium:cerebrium.toml
by adding a custom runtime section:
entrypoint
: The command that starts your serverport
: The port your server listens onhealthcheck_endpoint
: The endpoint used to confirm instance health. If unspecified, defaults to a TCP ping on the configured port. If the health check registers a non-200 response, it will be considered unhealthy, and be restarted should it not recover timely.readycheck_endpoint
: The endpoint used to confirm if the instance is ready to receive. If unspecified, defaults to a TCP ping on the configured port. If the ready check registers a non-200 response, it will not be a viable target for request routing.
For ASGI applications like FastAPI, include the appropriate server package
(like
uvicorn
) in your dependencies. After deployment, your endpoints become
available at https://api.aws.us-east-1.cerebrium.ai/v4/{project - id}/{app - name} /your/endpoint
.Request Headers
When using custom web servers, you can access the Cerebrium run ID through theX-Request-Id
header, which is included in all requests to your endpoints. This header is particularly useful for tracking and debugging requests in your custom runtime implementation, as it corresponds to the run_id
that Cerebrium uses internally.