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

# Self-Hosting Floe Overview

> Run your own Floe signaling server, web client, and optional TURN relay on your own infrastructure for full control over peer-to-peer file transfer.

You can self-host the entire Floe stack independently of `floe.one`. The setup uses Docker Compose so the full stack comes up with a single command.

## What you are hosting

The signaling server brokers WebRTC connection setup (offer, answer, ICE candidates) and issues short-lived TURN credentials. **File data never passes through it.** Transfers go peer-to-peer over encrypted WebRTC data channels. TURN is optional and only relays (still encrypted) traffic when a direct connection is not possible.

## Components

| Component | Description                                                                                                                                     |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `client`  | Next.js web app, on container port 3000                                                                                                         |
| `server`  | Node.js signaling server, on container port 3001                                                                                                |
| `coturn`  | Optional self-hosted TURN relay (profile-gated in Docker Compose). Alternatively, use managed Cloudflare Realtime TURN with no extra container. |

Those are the ports inside the containers. In production you normally put both
behind a single domain, so your users never see either one. See
[Reverse Proxy](/docs/self-hosting/reverse-proxy).

## Contents

<CardGroup cols={2}>
  <Card title="Quick Start" href="/docs/self-hosting/quickstart">
    Get the stack running with Docker Compose in minutes.
  </Card>

  <Card title="Container Images" href="/docs/self-hosting/images">
    The prebuilt images on ghcr.io: tags, pinning a version or digest, and supported architectures.
  </Card>

  <Card title="Configuration" href="/docs/self-hosting/configuration">
    Environment variable reference for all settings.
  </Card>

  <Card title="Reverse Proxy" href="/docs/self-hosting/reverse-proxy">
    Serve the client and signaling server from one domain, with Caddy and nginx examples.
  </Card>

  <Card title="Production Deployment" href="/docs/self-hosting/production">
    HTTPS, custom domains, and the two-subdomain layout.
  </Card>

  <Card title="TURN Relay" href="/docs/self-hosting/turn-relay">
    Use Cloudflare's managed TURN or add coturn to support peers behind strict NAT or CGNAT.
  </Card>

  <Card title="Operations" href="/docs/self-hosting/operations">
    Day-to-day commands, updates, and health checks.
  </Card>
</CardGroup>
