Skip to content

denisetiya/PaperMc-DockerConfig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ Paper Minecraft Server 1.21.8

PaperMC Docker Cloudflare License

A Complete Docker Compose Setup for Paper Minecraft Server with Cloudflare Tunnel Integration

Powered by denisetiya


๐Ÿ“‹ Table of Contents


โœจ Features

  • ๐ŸŽฎ PaperMC 1.21.8 - High-performance Minecraft server with plugin support
  • ๐Ÿณ Docker Compose - Easy deployment and management
  • โ˜๏ธ Cloudflare Tunnel - Secure remote access without port forwarding
  • ๐ŸŒ Full Dimension Support - Overworld, Nether, and The End enabled by default
  • โš™๏ธ Pre-configured Settings - Optimized default configuration
  • ๐Ÿ” Security Focused - Best practices for server security
  • ๐Ÿ“„ Comprehensive Documentation - Detailed setup and usage guides

๐Ÿ“‹ Prerequisites

  • Docker installed on your system
  • Docker Compose installed on your system
  • Basic understanding of command line operations
  • (Optional) Cloudflare account for tunnel setup

๐Ÿš€ Quick Start

  1. Clone or download this repository

    git clone <repository-url>
    cd minecraft-server
  2. Create required directories

    mkdir -p data plugins cloudflared
  3. Start the server

    docker-compose up -d
  4. View server logs

    docker-compose logs -f
  5. Stop the server

    docker-compose down

๐Ÿ”„ Alternate Setup Options

GitHub Codespaces Setup

Run your Minecraft server in the cloud using GitHub Codespaces:

  1. Fork this repository to your GitHub account
  2. Create a new codespace from your forked repository
  3. Forward port 25565 to public access in the codespace
  4. Connect to your server using the codespace URL and port

Comprehensive Alternate Setups

For detailed instructions on various alternate setup methods including:

  • Docker run command setup
  • Local development setup
  • Cloud hosting options
  • Advanced configuration

See ALTERNATE_SETUPS.md for complete documentation.

๐Ÿ›  Configuration

Component Description Default
Port Minecraft server port 25565
Data Storage Server data directory ./data
Plugins Server plugins directory ./plugins
Timezone Server timezone Asia/Jakarta
EULA Minecraft EULA acceptance true (auto-accepted)

Environment Variables

Variable Description Default
TZ Timezone for the server Asia/Jakarta
UID User ID for file permissions 1000
GID Group ID for file permissions 1000
EULA Auto-accept Minecraft EULA true
VERSION Minecraft version 1.21.8

๐ŸŒ Dimension Support

Your server comes with full support for all Minecraft dimensions enabled by default:

Overworld

  • Primary world with all biomes and structures
  • Spawn point for new players

Nether

  • Enabled via allow-nether=true in server.properties
  • Accessible through Nether portals
  • Contains unique blocks and structures

The End

  • Accessible through End Portals in Strongholds
  • Home to the Ender Dragon and End Cities

For detailed dimension configuration, see DIMENSIONS.md

โ˜๏ธ Cloudflare Tunnel

Secure remote access without port forwarding using Cloudflare Tunnel:

Benefits

  • ๐Ÿ”’ Security - Server IP never exposed
  • ๐ŸŒ No Port Forwarding - Works behind NAT/firewalls
  • ๐Ÿ›ก DDoS Protection - Cloudflare's network protection
  • ๐Ÿท Custom Domain - Professional domain access

Setup

Follow the detailed instructions in CLOUDFLARE_TUNNEL_SETUP.md

๐Ÿ“‚ Project Structure

minecraft-server/
โ”œโ”€โ”€ docker-compose.yml      # Docker Compose configuration
โ”œโ”€โ”€ .gitignore             # Git ignore rules
โ”œโ”€โ”€ .github/               # GitHub configurations (if any)
โ”œโ”€โ”€ README.md              # This documentation
โ”œโ”€โ”€ LICENSE                # MIT License
โ”œโ”€โ”€ DIMENSIONS.md          # Dimension configuration guide
โ”œโ”€โ”€ ALTERNATE_SETUPS.md    # Alternate setup methods
โ”œโ”€โ”€ CLOUDFLARE_TUNNEL_SETUP.md  # Cloudflare Tunnel setup guide
โ”œโ”€โ”€ data/                  # Server data (git-ignored except configs)
โ”‚   โ”œโ”€โ”€ server.properties  # Main server configuration
โ”‚   โ”œโ”€โ”€ eula.txt           # EULA agreement
โ”‚   โ””โ”€โ”€ paper.example.yml  # Example Paper configuration
โ”œโ”€โ”€ plugins/               # Server plugins (git-ignored)
โ””โ”€โ”€ cloudflared/           # Cloudflare Tunnel configuration
    โ”œโ”€โ”€ config.yml         # Tunnel configuration
    โ””โ”€โ”€ *.json             # Credentials file (git-ignored)

๐Ÿณ Docker Services

Service Image Description Port
minecraft marctv/minecraft-papermc-server:1.21.8 PaperMC Minecraft Server 25565
cloudflared cloudflare/cloudflared:latest Cloudflare Tunnel (optional) N/A

๐Ÿ”ง Useful Commands

# Start services in background
docker-compose up -d

# View live logs
docker-compose logs -f

# View specific service logs
docker-compose logs minecraft

# Stop services
docker-compose down

# Restart specific service
docker-compose restart minecraft

# View running containers
docker-compose ps

# Execute commands in running container
docker-compose exec minecraft <command>

# Update container images
docker-compose pull

๐Ÿ›ก Security Recommendations

  1. Always keep online-mode=true in server.properties
  2. Use a whitelist for private servers (white-list=true)
  3. Regularly update the PaperMC server
  4. Backup your world data regularly
  5. Use strong passwords for operator accounts
  6. Configure firewall rules to restrict access
  7. Monitor server logs for suspicious activity
  8. Limit operator permissions to trusted players only

๐Ÿ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

MIT License

Copyright (c) 2025 Deni Setiya

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

๐Ÿ“š Additional Resources


Powered by denisetiya | ๐ŸŽฎ Happy Gaming!

About

A Complete Docker Compose Setup for Paper Minecraft Server with Cloudflare Tunnel Integration

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published