Files
2026-08-06 19:21:08 +02:00

54 lines
3.2 KiB
Markdown

# 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”.