Skip to main content

Prerequisites

  • Docker and Docker Compose v2 (docker compose, bundled with Docker Desktop and modern Docker Engine).

Steps

1

Clone the repository

git clone https://github.com/jannskiee/floe.git
cd floe
2

Copy the environment file

cp .env.docker.example .env
The defaults work for a local single-machine setup. No changes are needed to try it out.
3

Start the stack

docker compose up -d --build
Docker builds and starts the client and server containers. The first build takes a few minutes.
4

Open the app

Open http://localhost:3000 in your browser. Open the same URL in a second tab (or on another device on the same network), start a transfer in one tab, and join with the room code in the other.

What this runs

This starts the stack in STUN-only mode. Direct peer-to-peer connections are used, which work on most home and mobile networks. No files pass through the server. To support peers behind strict firewalls, symmetric NAT, or CGNAT, add a TURN relay.
NEXT_PUBLIC_SOCKET_URL defaults to http://localhost:3001 in .env.docker.example, which works when both the browser and the server are on the same machine. If you want to access the app from another device on your network, update this to your machine’s LAN IP (e.g. http://192.168.1.x:3001) and rebuild the client image. See Build-Time URL Caveat for why.