> ## Documentation Index
> Fetch the complete documentation index at: https://silmaril.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Self-hosting

> Run Silmaril in a cloud account and region you control, next to the workload it protects.

## Prerequisites

You need a cloud account on a supported provider and a deployment plan agreed with Silmaril. Through [deployment access](/docs/start/quickstart#get-access), Silmaril supplies the container images, API key, and endpoints for your deployment.

<a id="limits" />

## Limits

Self-hosting is set up with Silmaril. There is no standalone installer. Silmaril plans networking, runtime configuration, and releases with your team, and supplies image names, ports, and startup commands during setup. If you prefer not to run the service yourself, Silmaril can host it for you.

<a id="supported-targets" />

## Supported providers

<div className="docs-original">
  <div className="docs-provider-grid">
    <a href="https://aws.amazon.com/containers/" target="_blank" rel="noopener noreferrer" className="docs-provider-card">
      <span className="docs-provider-logo" style={{ color: "var(--cyber-orange)", borderColor: "color-mix(in srgb, var(--cyber-orange) 33%, transparent)" }} aria-hidden="true">AWS</span>
      <span><span className="docs-provider-name">AWS</span><span className="docs-provider-copy">Run Silmaril behind your ingress on ECS or EKS.</span></span>

      <svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round">
        <path d="M7 7h10v10" />

        <path d="M7 17 17 7" />
      </svg>
    </a>

    <a href="https://cloud.google.com/containers" target="_blank" rel="noopener noreferrer" className="docs-provider-card">
      <span className="docs-provider-logo" style={{ color: "var(--competitor-blue)", borderColor: "color-mix(in srgb, var(--competitor-blue) 33%, transparent)" }} aria-hidden="true">GCP</span>
      <span><span className="docs-provider-name">Google Cloud</span><span className="docs-provider-copy">Deploy to Cloud Run or GKE in the account and region you control.</span></span>

      <svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round">
        <path d="M7 7h10v10" />

        <path d="M7 17 17 7" />
      </svg>
    </a>

    <a href="https://azure.microsoft.com/en-us/products/category/containers" target="_blank" rel="noopener noreferrer" className="docs-provider-card">
      <span className="docs-provider-logo" style={{ color: "var(--cyber-teal)", borderColor: "color-mix(in srgb, var(--cyber-teal) 33%, transparent)" }} aria-hidden="true">AZ</span>
      <span><span className="docs-provider-name">Azure</span><span className="docs-provider-copy">Use Azure Container Apps or AKS for containerized firewall services.</span></span>

      <svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round">
        <path d="M7 7h10v10" />

        <path d="M7 17 17 7" />
      </svg>
    </a>

    <a href="https://www.oracle.com/cloud/cloud-native/container-engine-kubernetes/" target="_blank" rel="noopener noreferrer" className="docs-provider-card">
      <span className="docs-provider-logo" style={{ color: "var(--cyber-rose)", borderColor: "color-mix(in srgb, var(--cyber-rose) 33%, transparent)" }} aria-hidden="true">OCI</span>
      <span><span className="docs-provider-name">Oracle Cloud</span><span className="docs-provider-copy">Run containerized firewall services on OKE in your tenancy.</span></span>

      <svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round">
        <path d="M7 7h10v10" />

        <path d="M7 17 17 7" />
      </svg>
    </a>
  </div>
</div>

## Connect clients

| Client | Environment variable | Endpoint |
| - | - | - |
| [SDK](/docs/start/quickstart) | `SILMARIL_API_URL` | Classify endpoint |
| [LiteLLM](/docs/integrations/litellm) | `SILMARIL_GUARDRAIL_URL` | Guardrail endpoint from the same deployment |

## Expected result

An SDK request to your deployment's classify endpoint returns a verdict. If you use LiteLLM, its pre-call and post-call checks reach the guardrail endpoint of the same deployment.
