Feat/minepanel template#656
Conversation
built with Refined Cloudflare Pages Action⚡ Cloudflare Pages Deployment
|
There was a problem hiding this comment.
Pull request overview
This PR adds a new template for Minepanel, a web panel for managing Minecraft servers with Docker. The template includes a multi-service deployment with NestJS backend, Next.js frontend, auto-generated JWT secrets and admin credentials, Docker socket access for container management, and persistent volumes.
Changes:
- Added new Minepanel template with frontend and backend services
- Configured domain routing with separate subdomains for API and frontend
- Included auto-generated credentials and JWT secrets for security
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| meta.json | Added metadata entry for Minepanel with version 1.7.1, description, logo reference, and tags |
| blueprints/minepanel/docker-compose.yml | Defines backend and frontend services with environment variables, volumes, and Docker socket access |
| blueprints/minepanel/template.toml | Configures domain mapping, environment variables, and template variables for deployment |
| blueprints/minepanel/minepanel.webp | Logo image file for the template |
| @@ -0,0 +1,28 @@ | |||
| services: | |||
| backend: | |||
| image: ketbom/minepanel-backend:1.7.1 | |||
There was a problem hiding this comment.
According to the coding guidelines, Docker image versions must be verified before use. The guideline states: 'Always verify image exists using docker manifest inspect <image:tag> before committing.' Please verify that the image ketbom/minepanel-backend:1.7.1 exists on Docker Hub using the manifest inspect command.
| - /var/run/docker.sock:/var/run/docker.sock | ||
|
|
||
| frontend: | ||
| image: ketbom/minepanel-frontend:1.7.1 |
There was a problem hiding this comment.
According to the coding guidelines, Docker image versions must be verified before use. The guideline states: 'Always verify image exists using docker manifest inspect <image:tag> before committing.' Please verify that the image ketbom/minepanel-frontend:1.7.1 exists on Docker Hub using the manifest inspect command.
| frontend_domain = "${domain}" | ||
| backend_domain = "${domain}" |
There was a problem hiding this comment.
Both frontend_domain and backend_domain are set to the same value. This creates confusion since they will have different hosts in the domains configuration (line 15 uses '${frontend_domain}' while line 20 uses 'api-${backend_domain}'). Consider renaming to 'main_domain' or similar to clarify that both services share the same base domain, or consolidate to a single variable if they're always identical.
| - BASE_DIR=${BASE_DIR} | ||
| volumes: | ||
| - minepanel-servers:/app/servers | ||
| - minepanel-data:/app/data |
There was a problem hiding this comment.
Mounting /var/run/docker.sock grants the container full control over the Docker daemon on the host. This is a significant security risk and should be clearly documented. Consider adding a comment in the docker-compose.yml file warning users about this security implication, as this allows the container to create, stop, or remove any container on the host system.
| - minepanel-data:/app/data | |
| - minepanel-data:/app/data | |
| # WARNING: Mounting the Docker socket grants this container full control over the Docker daemon | |
| # on the host, including the ability to create, stop, and remove containers. Only enable this | |
| # if you understand and accept the security implications. |
| CLIENT_USERNAME = "${client_username}" | ||
| CLIENT_PASSWORD = "${client_password}" | ||
| FRONTEND_URL = "http://${main_domain}" | ||
| NEXT_PUBLIC_BACKEND_URL = "http://api-${main_domain}" |
There was a problem hiding this comment.
The environment variable uses HTTP protocol. According to the repository's coding guidelines, URL variables should use HTTP by default unless the application explicitly requires HTTPS or a reverse proxy with SSL termination is in place. This is consistent with the guideline, but ensure that users are aware they should configure SSL/TLS at the reverse proxy level (which Dokploy provides) for production deployments.
What is this PR about?
New PR of Minepanel - Web panel for managing Minecraft servers with Docker.
Checklist
Before submitting this PR, please make sure that:
Issues related (if applicable)
N/A
Screenshots or Videos
Template includes:
Links: