--- type: User Story title: "US-010: Run a local Docker test server" description: Provide a repeatable Docker Compose harness that builds and loads Tree Feller on an isolated Spigot 26.2 server. status: done --- # US-010: Run a local Docker test server As a **plugin developer**, I want one command to run the current Tree Feller build on a local containerized server so that I can perform repeatable integration and gameplay testing. ## Acceptance criteria - [x] One repository script builds and verifies the plugin before starting an isolated Spigot 26.2 server through Docker Compose. - [x] The current Tree Feller JAR is mounted into the server automatically whenever the container is recreated. - [x] `WindMagi` is configured and verified at operator level 4 using the deterministic offline-mode UUID `6a3b6e9f-1a2f-380c-8a75-7a7ca6392c0e`. - [x] The Minecraft port binds only to `127.0.0.1:25565` by default. - [x] Startup waits for server health and verifies Tree Feller through RCON. - [x] Generated worlds, logs, configuration, and downloaded server artifacts are stored under `.docker/minecraft/` and excluded from Git. - [x] Stopping Compose preserves generated test state unless the operator explicitly deletes it. - [x] Existing unrelated containers are not modified. - [x] Maintainer documentation explains start, logs, stop, reset, timeout, and RCON-password controls. ## Scope This harness is for local development only. It does not define production deployment, publish an image, expose Minecraft or RCON publicly, or persist its runtime state in Git. ## Related - [US-003: Fell unlocked trees](us-003-fell-unlocked-trees.md) - [US-005: Undo the last felled tree](us-005-undo-the-last-felled-tree.md) - [US-009: Build and release Tree Feller](us-009-build-and-release-tree-feller.md) - [User-story catalog](index.md)