name: steam-headless x-image: namespace: ${IMAGE_NAMESPACE:-joafri} tag: ${IMAGE_TAG:-main} services: steam: image: lscr.io/linuxserver/steam:version-f4f48542@sha256:d7b9fbf302e05ae79248d1171fe9751b354f8397eafa1e13a3df0aa6a75de0b4 container_name: steam-headless restart: unless-stopped shm_size: "1gb" environment: TZ: ${TZ} PUID: ${PUID} PGID: ${PGID} STEAM_HTTP_PORT: ${STEAM_HTTP_PORT:-3000} STEAM_HTTPS_PORT: ${STEAM_HTTPS_PORT:-3001} ports: - target: 3000 published: ${STEAM_HTTP_PORT:-3000} protocol: tcp - target: 3001 published: ${STEAM_HTTPS_PORT:-3001} protocol: tcp volumes: - type: bind source: /DATA/AppData/$AppID/config target: /config # Required by LinuxServer Steam for bubblewrap/game namespaces. security_opt: - seccomp:unconfined - no-new-privileges:true # Keep capability surface minimal unless a specific game requires otherwise. cap_drop: - ALL x-casaos: envs: - container: TZ description: en_us: Timezone, for example Europe/Stockholm - container: PUID description: en_us: User ID for filesystem permissions - container: PGID description: en_us: Group ID for filesystem permissions ports: - container: "3000" description: en_us: Steam desktop GUI over HTTP - container: "3001" description: en_us: Steam desktop GUI over HTTPS volumes: - container: /config description: en_us: Steam home, configuration, and game files x-casaos: architectures: - amd64 main: steam category: Games author: Zima Apps Team developer: linuxserver.io icon: https://cdn.simpleicons.org/steam tagline: en_us: Browser-based Steam desktop container for ZimaOS description: en_us: >- Runs LinuxServer Steam as a web-accessible desktop session. Optimized for amd64 and least-privilege defaults, with optional future Moonlight-focused expansion in a later phase. title: en_us: Steam Headless index: / port_map: ${STEAM_HTTPS_PORT:-3001} scheme: https