Skip to content

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
└── .dockerignore

Creating the Dockerfile

Create a Dockerfile in the root of your repository:

FROM node:18-alpine
# Install Java for Minecraft servers
RUN apk add --no-cache openjdk17-jre-headless
# Install additional dependencies
RUN apk add --no-cache git curl bash
# Set working directory
WORKDIR /app
# Clone Kubek
RUN git clone https://github.com/Jerrylum/Kubek.git .
# Install dependencies
RUN npm install
# Build the application
RUN npm run build
# Create directories for server data
RUN mkdir -p /servers /backups
# Set environment variables
ENV NODE_ENV=production
ENV PORT=3000
ENV SERVERS_PATH=/servers
ENV BACKUPS_PATH=/backups
# Expose ports
EXPOSE 3000
# Start the application
CMD ["npm", "start"]

Environment Variables Reference

VariableRequiredDefaultDescription
PORTNo3000Port for the web interface
SERVERS_PATHNo/serversPath to store server files
BACKUPS_PATHNo/backupsPath to store backups
ADMIN_USERNAMENoadminDefault admin username
ADMIN_PASSWORDYes-Admin password
SESSION_SECRETYes-Secret for session encryption
JAVA_PATHNojavaPath to Java executable

Deploying Kubek on Klutch.sh

    Generate a Session Secret

    Generate a secure session secret:

    Terminal window
    openssl rand -hex 32

    Push Your Repository to GitHub

    Initialize your repository and push to GitHub:

    Terminal window
    git init
    git add Dockerfile .dockerignore README.md
    git commit -m "Initial Kubek deployment configuration"
    git remote add origin https://github.com/yourusername/kubek-deploy.git
    git push -u origin main

    Create 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:

    • Select HTTP as the traffic type
    • Set the internal port to 3000 (Kubek web interface)

    Note: Minecraft servers require additional TCP ports (default 25565) which may need separate configuration.

    Set Environment Variables

    Add the following environment variables:

    VariableValue
    ADMIN_PASSWORDYour secure admin password
    SESSION_SECRETYour generated session secret
    NODE_ENVproduction

    Attach Persistent Volumes

    Add volumes for data persistence:

    Mount PathRecommended SizePurpose
    /servers50+ GBMinecraft server files and worlds
    /backups50+ GBWorld backups
    /app/data5 GBKubek configuration

    Deploy Your Application

    Click Deploy to start the build process. Klutch.sh will:

    • Detect your Dockerfile automatically
    • Build the container image
    • Attach the persistent volumes
    • Start the Kubek container
    • Provision an HTTPS certificate

    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:

  1. Click Create Server
  2. Select server type (Vanilla, Paper, Spigot, etc.)
  3. Choose Minecraft version
  4. Configure memory allocation
  5. Start the server

Server Types Supported

TypeDescription
VanillaOfficial Minecraft server
PaperPerformance-optimized with plugin support
SpigotPopular server with Bukkit API
ForgeMod support for Forge mods
FabricLightweight mod loader

Installing Plugins

For Paper/Spigot servers:

  1. Select your server
  2. Go to Plugins tab
  3. Browse or search for plugins
  4. Click Install
  5. Restart the server

Server Configuration

Editing server.properties

Modify server settings:

  1. Select your server
  2. Go to Configuration
  3. Edit properties like game mode, difficulty, max players
  4. Save and restart

Memory Allocation

Optimize performance:

  1. Go to Server Settings
  2. Adjust min and max memory
  3. Consider your total available resources
  4. 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.