Deploying Kubek
Introduction
Kubek is a web-based Minecraft server management panel that simplifies the process of running and maintaining Minecraft servers. Built with a modern web interface, Kubek allows you to manage multiple servers, install plugins, configure settings, and monitor player activity all from your browser.
The application is designed for both beginners who want an easy way to run a Minecraft server and experienced administrators who need advanced management features. Kubek supports various Minecraft server types including Vanilla, Spigot, Paper, Forge, and Fabric.
Key features of Kubek:
- Multi-Server Management: Run and manage multiple Minecraft servers
- Web-Based Console: Access server console from any browser
- Plugin Management: Install and update plugins easily
- Mod Support: Manage mods for Forge and Fabric servers
- Server Configuration: Edit server.properties through the interface
- Backup System: Automated and manual world backups
- Player Management: View online players and manage permissions
- Resource Monitoring: Track CPU, memory, and disk usage
- Scheduled Tasks: Automate restarts, backups, and commands
- SFTP Access: Direct file access for advanced management
- Multi-User Support: Multiple admin accounts with permissions
- Server Installer: Download and install server software automatically
This guide walks through deploying Kubek on Klutch.sh using Docker, setting up your first Minecraft server, and managing your gaming community.
Why Deploy Kubek on Klutch.sh
Deploying Kubek on Klutch.sh provides several advantages for Minecraft server management:
Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds Kubek without complex orchestration.
Persistent Storage: Attach persistent volumes for server data, worlds, and configurations. Your Minecraft worlds survive container restarts.
HTTPS by Default: Klutch.sh provides automatic SSL certificates for secure panel access.
GitHub Integration: Connect your configuration repository directly from GitHub. Updates trigger automatic redeployments.
Scalable Resources: Allocate CPU and memory based on your server count and player load.
Environment Variable Management: Securely store admin credentials and configuration.
Custom Domains: Assign a custom domain for your server management panel.
Always-On Availability: Your management panel remains accessible 24/7.
Prerequisites
Before deploying Kubek on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your configuration
- Basic familiarity with Docker and containerization concepts
- Understanding of Minecraft server requirements
- (Optional) A custom domain for your Kubek instance
Preparing Your Repository
Create a GitHub repository containing your Dockerfile for deploying Kubek on Klutch.sh.
Repository Structure
kubek-deploy/├── Dockerfile├── README.md└── .dockerignoreCreating the Dockerfile
Create a Dockerfile in the root of your repository:
FROM node:18-alpine
# Install Java for Minecraft serversRUN apk add --no-cache openjdk17-jre-headless
# Install additional dependenciesRUN apk add --no-cache git curl bash
# Set working directoryWORKDIR /app
# Clone KubekRUN git clone https://github.com/Jerrylum/Kubek.git .
# Install dependenciesRUN npm install
# Build the applicationRUN npm run build
# Create directories for server dataRUN mkdir -p /servers /backups
# Set environment variablesENV NODE_ENV=productionENV PORT=3000ENV SERVERS_PATH=/serversENV BACKUPS_PATH=/backups
# Expose portsEXPOSE 3000
# Start the applicationCMD ["npm", "start"]Environment Variables Reference
| Variable | Required | Default | Description |
|---|---|---|---|
PORT | No | 3000 | Port for the web interface |
SERVERS_PATH | No | /servers | Path to store server files |
BACKUPS_PATH | No | /backups | Path to store backups |
ADMIN_USERNAME | No | admin | Default admin username |
ADMIN_PASSWORD | Yes | - | Admin password |
SESSION_SECRET | Yes | - | Secret for session encryption |
JAVA_PATH | No | java | Path to Java executable |
Deploying Kubek on Klutch.sh
- Select HTTP as the traffic type
- Set the internal port to 3000 (Kubek web interface)
- Detect your Dockerfile automatically
- Build the container image
- Attach the persistent volumes
- Start the Kubek container
- Provision an HTTPS certificate
Generate a Session Secret
Generate a secure session secret:
openssl rand -hex 32Push Your Repository to GitHub
Initialize your repository and push to GitHub:
git initgit add Dockerfile .dockerignore README.mdgit commit -m "Initial Kubek deployment configuration"git remote add origin https://github.com/yourusername/kubek-deploy.gitgit push -u origin mainCreate a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project. Give it a descriptive name like “kubek” or “minecraft-manager”.
Create a New App
Within your project, create a new app. Connect your GitHub account if you haven’t already, then select the repository containing your Kubek Dockerfile.
Configure HTTP Traffic
In the deployment settings:
Note: Minecraft servers require additional TCP ports (default 25565) which may need separate configuration.
Set Environment Variables
Add the following environment variables:
| Variable | Value |
|---|---|
ADMIN_PASSWORD | Your secure admin password |
SESSION_SECRET | Your generated session secret |
NODE_ENV | production |
Attach Persistent Volumes
Add volumes for data persistence:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/servers | 50+ GB | Minecraft server files and worlds |
/backups | 50+ GB | World backups |
/app/data | 5 GB | Kubek configuration |
Deploy Your Application
Click Deploy to start the build process. Klutch.sh will:
Access Kubek
Once deployment completes, access your Kubek panel at https://your-app-name.klutch.sh.
Setting Up Minecraft Servers
Creating Your First Server
After logging in:
- Click Create Server
- Select server type (Vanilla, Paper, Spigot, etc.)
- Choose Minecraft version
- Configure memory allocation
- Start the server
Server Types Supported
| Type | Description |
|---|---|
| Vanilla | Official Minecraft server |
| Paper | Performance-optimized with plugin support |
| Spigot | Popular server with Bukkit API |
| Forge | Mod support for Forge mods |
| Fabric | Lightweight mod loader |
Installing Plugins
For Paper/Spigot servers:
- Select your server
- Go to Plugins tab
- Browse or search for plugins
- Click Install
- Restart the server
Server Configuration
Editing server.properties
Modify server settings:
- Select your server
- Go to Configuration
- Edit properties like game mode, difficulty, max players
- Save and restart
Memory Allocation
Optimize performance:
- Go to Server Settings
- Adjust min and max memory
- Consider your total available resources
- Restart to apply changes
Troubleshooting Common Issues
Server Won’t Start
- Check Java version compatibility
- Verify memory allocation isn’t too high
- Review server logs for errors
Can’t Connect to Server
- Verify Minecraft port is exposed (25565)
- Check server is actually running
- Confirm firewall allows connections
Out of Memory
- Reduce allocated memory per server
- Limit number of concurrent servers
- Upgrade Klutch.sh resources
Additional Resources
Conclusion
Deploying Kubek on Klutch.sh gives you a powerful Minecraft server management panel with automatic builds and persistent storage. Manage your Minecraft community without dealing with command-line server administration.