test(docker): add local Spigot test server
CI / build (push) Successful in 1m18s
Release / release (push) Successful in 1m56s

This commit is contained in:
dmg
2026-08-11 17:47:26 -04:00
parent 5d1577175f
commit 2e6fdb4e5b
7 changed files with 183 additions and 0 deletions
+1
View File
@@ -9,3 +9,4 @@
7. [US-007: Administer Tree Feller](us-007-administer-tree-feller.md)
8. [US-008: Configure and persist Tree Feller](us-008-configure-and-persist-tree-feller.md)
9. [US-009: Build and release Tree Feller](us-009-build-and-release-tree-feller.md)
10. [US-010: Run a local Docker test server](us-010-run-local-docker-test-server.md)
@@ -0,0 +1,33 @@
---
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 as a server operator.
- [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)