docs: state hosting requirements and the legal position up front
The README opens with storage, CPU and HTTPS requirements, including the per-player cost of streaming, and explains Flashpoint's legal standing. Setup now uses the torrent and Infinity archive from Flashpoint's site, and the streaming docs reflect the app proxying /stream/.
This commit is contained in:
@@ -6,8 +6,11 @@ walks through a first install; this page covers the details.
|
||||
## Prerequisites
|
||||
|
||||
- **Docker:** Engine 24+ with the Compose plugin.
|
||||
- **Memory:** 4 GB of RAM. With streaming, allow about 1 GB more per concurrent
|
||||
stream, since each streamer container gets 1 GB of shared memory.
|
||||
- **Storage:** more than 2.3 TB for Flashpoint Ultimate 14, or 4.6 TB to keep
|
||||
the downloaded archives.
|
||||
- **CPU and memory:** 2 cores and 4 GB of RAM for the site. Streaming adds
|
||||
roughly 1 to 2 CPU cores and 1 GB of RAM per player streaming at once, since
|
||||
each player's container runs the game and encodes its video on the CPU.
|
||||
- **A Flashpoint install** at `FLASHPOINT_HOST_PATH`, with
|
||||
`Data/flashpoint.sqlite`, `Data/Games/`, `Data/Images/`, `Data/Playlists/`
|
||||
and `Legacy/htdocs/`. `scripts/setup-flashpoint.sh` produces one from the
|
||||
@@ -18,7 +21,7 @@ walks through a first install; this page covers the details.
|
||||
| Service | Image | Profile | Purpose |
|
||||
| ----------------- | ------------------------------ | ----------- | -------------------------------------------------------- |
|
||||
| `app` | `dotcom-arcade` | (always) | UI, API and game content on port 3100 |
|
||||
| `session-manager` | `dotcom-arcade-session-manager` | `streaming` | Starts streamer containers; serves `/stream/` on port 8081 |
|
||||
| `session-manager` | `dotcom-arcade-session-manager` | `streaming` | Starts streamer containers and serves their streams, through the app |
|
||||
| `streamer` | `dotcom-arcade-streamer` | `streaming` | Built only; the session manager runs one per player |
|
||||
|
||||
All three are built from this repository by `docker compose up -d --build`.
|
||||
@@ -37,14 +40,14 @@ socket, and passes `FLASHPOINT_HOST_PATH` on to the streamer containers.
|
||||
## Ports and networks
|
||||
|
||||
- **App:** listens on `WEB_PORT` (default 80) on the host.
|
||||
- **Session manager:** serves `/stream/` on `STREAM_PORT` (default 8081).
|
||||
- **Session manager:** publishes no ports. The app proxies `/stream/` to it.
|
||||
- **`dotcom-arcade` network:** the app and the session manager share it.
|
||||
- **`dotcom-arcade-streams` network:** holds the streamer containers. It's
|
||||
internal, so they have no internet access and only the session manager can
|
||||
reach them.
|
||||
|
||||
Put a reverse proxy with HTTPS in front of the app. Streaming needs HTTPS, and
|
||||
the proxy must route `/stream/` to the session manager (see
|
||||
the proxy must pass WebSocket upgrades (see
|
||||
[Streaming](../10-features/13-streaming.md#reverse-proxy)).
|
||||
|
||||
## Health checks
|
||||
@@ -72,7 +75,7 @@ docker compose logs -f session-manager
|
||||
`docker compose exec app ls /data/flashpoint/Data`.
|
||||
- **Missing playlists or settings:** `Data/Playlists` or `preferences.json` is
|
||||
missing. Re-run `scripts/setup-flashpoint.sh`, which takes them from
|
||||
`Base_1.zip`, or add `--with-infinity`.
|
||||
`Base_1.zip`, or pass `--infinity`.
|
||||
- **Permission errors on `./data` or `./logs`:** set `PUID`/`PGID` to the owner
|
||||
of those folders.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user