Skip to main content
Outerscope’s default runtime covers most app needs. For more control, use ASGI or WSGI servers through the custom runtime feature. This enables custom authentication, dynamic batching, frontend dashboards, public endpoints, and WebSocket connections.

Setting Up Custom Servers

A basic FastAPI server running as a custom server on Outerscope:
Configure this server in Outerscope.toml by adding a custom runtime section:
The configuration requires four key parameters:
  • entrypoint: The command that starts your server
  • port: The port your server listens on
  • healthcheck_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, Outerscope considers the instance unhealthy and restarts it if it does not recover in time.
  • 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, Outerscope does not route requests to the instance.
For ASGI applications like FastAPI, include the appropriate server package (like uvicorn) in your dependencies. After deployment, your endpoints become available at https://api.Outerscope/v4/p-xxxxxxxx/[app-name]/your/endpoint.
The FastAPI Server Example provides a complete implementation.

Request Headers

Custom web servers receive the Outerscope run ID in the X-Request-Id header on every request. This corresponds to the internal run_id and is useful for tracking and debugging.