# Vision and scope ## Vision DoGaMa lets a household or a small trusted group install, operate, update and protect a few private game servers without becoming Docker experts. The normal path is graphical, understandable and safe: choose a game, review the deployment, configure resources and storage, then create the instance. The product must remain lightweight enough for a self-hosted machine already running other services. It is not a general-purpose container manager and must not expose unrelated containers. ## Target users - An administrator who owns the host and controls catalog, users, storage roots, public address, policies and instances. - A manager trusted to operate one or more assigned instances. - A user invited to play on one or more instances and perform safe day-to-day actions. - A contributor who adds a game using a YAML template and, only when necessary, a small WebAssembly adapter. ## V1 outcomes - Install DoGaMa with a minimal two-service Compose deployment. - Complete first-run administrator creation in the web UI. - Browse a local catalog and deploy a Palworld instance from the reference template. - Manage only registered DoGaMa instances through the restricted agent. - Assign user or manager access independently for each instance. - Start, stop, inspect health, view connection information and see available game data. - Configure ports, resource limits, storage, server settings, mods where supported and update policy. - Create manual or cron backups with an instance-specific retention count. - Import data during instance creation or into an existing instance; validate, restore and export safely. - Update an instance with a pre-update backup and controlled rollback. - Configure email, generic webhook and Discord notifications from the UI. - Record a deliberately small audit trail with an administrator-configurable retention, default 30 days. - Load versioned WebAssembly adapters with explicit capabilities and instance-scoped network access. ## Explicit non-goals for V1 - General Docker administration or display of unrelated containers. - Commercial hosting, billing, customer quotas, ticketing or public marketplaces. - Kubernetes, multi-datacenter orchestration or remote multi-node agents. - Automatic router/NAT/firewall configuration. - Automatic updates enabled by default. - Arbitrary shell commands, arbitrary `docker exec`, arbitrary host mounts or arbitrary module networking. - Native, shared-library, script or container-based integration modules. - Long-term time-series monitoring or high-volume logs. - Remote backup providers; the data model may allow a later extension. - Guaranteed conversion between every local-save and dedicated-server format. ## Product principles 1. Safe defaults over clever automation. 2. A preview before deployment or destructive changes. 3. Capabilities drive the UI; unavailable game features are hidden or clearly disabled. 4. Server-specific complexity belongs in a template or minimal adapter, never in generic orchestration code. 5. Human-readable contracts and machine-readable validation evolve together. 6. When compatibility cannot be proven, the interface says “probable” or “unknown”, never “guaranteed”.