csharpfritz / csharpfritz/Aspire-Minecraft
Pre-baked Docker image for faster Minecraft server startup
- Dominant language
- C#
- Stars
- 31
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
Create a custom Docker image based on `itzg/minecraft-server` that pre-installs the Minecraft server JAR, plugins (BlueMap, and future plugins), default `server.properties`, and pre-generated spawn chunks to dramatically reduce startup time.
## Motivation
Currently, every container start:
1. Downloads the Minecraft server JAR
2. Applies `server.properties` configuration
3. Accepts EULA
4. Installs plugins (BlueMap)
5. Generates initial world chunks (including the village area at X=10, Z=0)
This takes ~45-60s. A pre-baked image could reduce startup to ~10-15s.
## Proposed Approach
- Create a `Dockerfile` that extends `itzg/minecraft-server`
- Pin a specific Minecraft version
- Pre-install BlueMap and any other identified plugins
- Bake in default `server.properties` with env var override support
- Pre-generate spawn chunks covering the village build area
- Set up a CI pipeline to rebuild the image when Minecraft updates or new plugins are added
- Publish to GitHub Container Registry (ghcr.io)
## Considerations
- **Version pinning:** We take ownership of Minecraft version updates (currently handled by upstream image)
- **Plugin bundling:** As we identify more useful plugins (see below), they should be included
- **Override support:** Users must still be able to override `server.properties` and add their own plugins
- **Image size:** Monitor image size — pre-generated chunks add significant disk
## Plugin Candidates
Track additional plugins to bundle in this issue or linked issues. BlueMap is the first; others TBD as features evolve.
## Target Milestone
Post-feature-stabilization (v1.0 or Sprint 5+). The feature surface should settle before we bake an image.
Contributor guide
Assessment
This issue has not been assessed yet.