# ps5upload engine + web UI on a Linux server (homelab, NAS, mini PC). # # docker compose -f engine/compose.yaml up -d # then open http://:19113 from a browser on your LAN, # or point the desktop app at it: Settings → Engine URL. # # Edit the three values marked EDIT first. services: ps5upload: image: ghcr.io/phantomptr/ps5upload-engine-webui:latest # Engine only, no web UI (for the desktop app): # image: ghcr.io/phantomptr/ps5upload-engine:latest container_name: ps5upload restart: unless-stopped # Host networking, so the PS5 can reach the engine. A stream install makes # the PS5 download the package FROM the engine; with Docker's default # bridge network the engine would give the PS5 its internal 172.17.x.x # address, which the PS5 cannot reach, and every stream install fails. # (Docker Desktop on macOS/Windows can't do host networking: publish the # port instead and set PS5UPLOAD_PKG_HOST_IP to that computer's LAN IP.) network_mode: host environment: # EDIT: your PS5's IP address. PS5_ADDR: "192.168.1.50" # EDIT: who may use the engine. It has NO password — anyone allowed here # can install, delete and read files on your PS5. Your LAN's range is the # usual choice; keep it to networks you trust. Never expose the engine # to the internet. PS5UPLOAD_ALLOW_IP: "192.168.1.0/24" # Where the web UI's file browser opens. Without this it starts at the # engine's home directory (/data), not at your packages below. # Comma-separate the value to offer more than one root. PS5UPLOAD_BROWSE_ROOTS: "/pkgs" # Only needed without host networking: this server's LAN IP. # PS5UPLOAD_PKG_HOST_IP: "192.168.1.10" # Synology and other NAS boxes: the container runs as UID 65532 unless told # otherwise, and your bind mount is owned by someone else. Pick ONE: # - run as the folder's owner: `user: "1234:77777"` (see `ls -ln` on the # host folder), or # - `chown -R 65532:65532 /volume1/docker/ps5upload/data` on the host. # (A USER_ID/GROUP_ID environment variable is not read by these images.) # user: "1234:77777" volumes: # The engine's own state: saved servers, install history, artwork cache. - ps5upload-data:/data # EDIT: where your packages and game folders are. The web UI's file # browser opens here (see PS5UPLOAD_BROWSE_ROOTS above); read-only is # enough to install. - /srv/ps5/pkgs:/pkgs:ro volumes: ps5upload-data: