> ## 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.

# Use the Floe CLI with a Self-Hosted Server

> Point the floe CLI at your own self-hosted Floe signaling server instead of floe.one to send and receive files on your own infrastructure.

The `floe` CLI connects to `https://api.floe.one` by default. You can point it at any Floe signaling server using the `--server` flag.

## Usage

Both sender and receiver must use the same server:

```bash theme={null}
floe send photo.jpg --server https://floe.example.com
floe receive olive-tiger-castle --server https://floe.example.com
```

Point `--server` at the origin that serves `/api` and `/ws`. On a
[one-domain deployment](/docs/self-hosting/reverse-proxy) that is the same address your
users open in a browser, so this is all you need: the share link that `floe send`
prints resolves to the same origin and opens the web client correctly.

## When the web client is on a different host

The browser link printed by `floe send` defaults to the same origin as `--server`.
If your web client lives somewhere else, such as the two-subdomain layout, override
it with `--web`:

```bash theme={null}
floe send photo.jpg --server https://api.your-domain.com --web https://app.your-domain.com
```

Without `--web`, that split deployment prints a link pointing at the signaling
server, which serves no web app.

## Local testing

To test against a local instance running on the default ports:

```bash theme={null}
# Terminal 1 - sender
floe send photo.jpg --server http://localhost:3001

# Terminal 2 - receiver
floe receive olive-tiger-castle --server http://localhost:3001
```

The browser link will point to `http://localhost:3000` automatically when using `localhost:3001`.

See [Self-Hosting](/docs/self-hosting/overview) for instructions on running your own Floe instance.
