57 lines
2.7 KiB
YAML
57 lines
2.7 KiB
YAML
# OpenFUT FIFA-17 FUT backend — declarative deployment (server side, runs on 120).
|
|
#
|
|
# cp .env.example .env # set OPENFUT_ADVERTISE to THIS host's LAN IP
|
|
# docker compose up -d --build
|
|
#
|
|
# Brings up the 5 responders the game dials. OPENFUT_ADVERTISE is the server IP
|
|
# handed out for Blaze, UTAS, telemetry, and QoS; OPENFUT_ROSTER_HOST is the
|
|
# certificate DNS identity handed out for roster HTTPS.
|
|
#
|
|
# The client (105) still needs its first-hop redirect (hook or DNAT) plus
|
|
# autopatch.py running locally; see client_arm.sh and the FIFARUNBOOK.
|
|
name: openfut-fut-backend
|
|
|
|
services:
|
|
fut-backend:
|
|
build:
|
|
context: ../..
|
|
dockerfile: docker/fifa17-python/Dockerfile
|
|
image: openfut-fut-backend:dev
|
|
container_name: openfut-fut-backend
|
|
restart: unless-stopped
|
|
environment:
|
|
# Bind all interfaces inside the container.
|
|
OPENFUT_BIND: "${OPENFUT_BIND:-0.0.0.0}"
|
|
# Address advertised to the client for the next hop. MUST be this host's
|
|
# LAN IP as seen from the game machine (105). Required (see .env.example).
|
|
OPENFUT_ADVERTISE: "${OPENFUT_ADVERTISE:?set OPENFUT_ADVERTISE in .env to this host's LAN IP, e.g. 203.0.113.10}"
|
|
# FIFA17 roster TLS matches only certificate dNSName SANs. The client must
|
|
# resolve this hostname to OPENFUT_ADVERTISE.
|
|
OPENFUT_ROSTER_HOST: "${OPENFUT_ROSTER_HOST:-winter15.gosredirector.ea.com:8081}"
|
|
# POW content advertises port 8080 by default, which collides with the
|
|
# openfut-core publish on this host. Remap it to 8085 on the host and
|
|
# advertise the remapped endpoint.
|
|
POW_CONTENT_ADDR: "0.0.0.0:8080"
|
|
POW_CONTENT_HOST: "${OPENFUT_ADVERTISE}:8085"
|
|
# Launcher-selected EA/Origin identity shared by LSX, Blaze, POW and UTAS.
|
|
# FUT saves are isolated by persona beneath /state/accounts.
|
|
FUT_ACCOUNT_PATH: "/state/active_account.json"
|
|
FUT_PROFILE_ROOT: "/state/accounts"
|
|
FUT_SETTINGS: "off"
|
|
FUT_MODES: "1"
|
|
# Which Python responders this SERVER runs. Default excludes lsx (that is
|
|
# a client-side responder — see below). Drop a name once it is migrated to
|
|
# a Rust host (run outside Docker) so the two never overlap. See .env.example.
|
|
OPENFUT_SERVERS: "${OPENFUT_SERVERS:-blaze roster utas pow}"
|
|
volumes:
|
|
- "../state:/state"
|
|
ports:
|
|
- "4216:4216" # LSX — CLIENT-SIDE (.105); only used if lsx is enabled for all-on-one-box
|
|
- "42127:42127" # Blaze redirector (TLS)
|
|
- "42130:42130" # Blaze main
|
|
- "42131:42131" # Nucleus OAuth stub
|
|
- "8081:8081" # FUT roster XML (HTTPS)
|
|
- "8099:8099" # UTAS / RS4 FUT REST API
|
|
- "8094:8094" # POW / EASFC API
|
|
- "8085:8080" # POW content (host 8085 -> container 8080; avoids core:8080)
|