Skip to content

ops: restore an automated phone-accessible deployment path for SAGE #710

Description

@ninthworld

Parent: #713. Follow-up to #424.

Problem

The first product milestone is that two people click a link and play in a browser, but current main documents only local execution and contains no shipping deployment assets or workflow. The earlier GitHub Pages + Unraid issue is closed, yet the current repository has no Dockerfile, Pages deployment, GHCR publish workflow, WSS endpoint configuration, or operator runbook.

Goal

Provide one supported, repeatable path that deploys the current SAGE client and server and can be tested from a phone after changes land on main.

Scope

  • Static production client hosting with a configurable secure WebSocket endpoint.
  • Minimal non-root server container, pinned/reproducible build, and health check.
  • CI publication only after required verification gates pass.
  • Unraid deployment/update/rollback documentation, unless a different target is explicitly chosen.
  • HTTPS/WSS exposure that does not expose the Unraid administration surface.
  • Document in-memory room/game loss on server restart.
  • Add basic logs and operational checks sufficient to tell whether client, socket, and server are healthy.

Acceptance criteria

  • A successful main build produces a deployable static client and versioned server image.
  • The client connects through wss:// without source edits.
  • The container runs non-root and exposes a usable health check.
  • A commit-SHA image can be deployed and rolled back.
  • Update and restart behavior is documented.
  • The complete lobby-to-game path is manually verified from a phone.
  • Secrets and private network details are not committed.
  • Deployment failure cannot bypass the existing test gates.

Non-goals

  • Android APK or app-store distribution.
  • Persistence across server restarts.
  • Public matchmaking/account infrastructure.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions