version: '3.8' services: minecraft: build: context: . dockerfile: Dockerfile.minecraft container_name: ${CONTAINER_NAME:-minecraft-server} restart: unless-stopped stdin_open: true tty: true environment: # ===== BASIS KONFIGURATION ===== EULA: "TRUE" TYPE: ${SERVER_TYPE:-PAPER} VERSION: ${MC_VERSION:-1.21} # ===== MEMORY ===== MEMORY: ${MAX_RAM:-4G} INIT_MEMORY: ${MIN_RAM:-2G} USE_AIKAR_FLAGS: "true" # ===== SERVER EINSTELLUNGEN ===== SERVER_NAME: ${SERVER_NAME:-Minecraft Server} MOTD: ${MOTD:-§6Minecraft Server §7- §bPowered by Coolify} MAX_PLAYERS: ${MAX_PLAYERS:-100} DIFFICULTY: ${DIFFICULTY:-normal} MODE: ${GAMEMODE:-survival} PVP: ${PVP:-true} # ===== WORLD ===== LEVEL: ${WORLD_NAME:-world} SEED: ${WORLD_SEED:-} VIEW_DISTANCE: ${VIEW_DISTANCE:-10} SIMULATION_DISTANCE: ${SIMULATION_DISTANCE:-8} # ===== VELOCITY ===== ONLINE_MODE: ${ONLINE_MODE:-FALSE} PAPER_PROXY_SECRET: ${VELOCITY_SECRET:-} # ===== PERFORMANCE ===== ENABLE_ROLLING_LOGS: "true" MAX_TICK_TIME: ${MAX_TICK_TIME:-60000} # ===== FEATURES ===== ENABLE_COMMAND_BLOCK: ${ENABLE_COMMAND_BLOCK:-true} SPAWN_PROTECTION: ${SPAWN_PROTECTION:-16} ALLOW_FLIGHT: ${ALLOW_FLIGHT:-false} ENABLE_WHITELIST: ${ENABLE_WHITELIST:-false} # ===== RCON ===== ENABLE_RCON: "true" RCON_PASSWORD: ${RCON_PASSWORD:-minecraft} RCON_PORT: 25575 # ===== TIMEZONE ===== TZ: ${TIMEZONE:-Europe/Berlin} # ===== OPERATORS ===== OPS: ${OPS:-} ports: - "${MC_PORT:-25565}:25565" - "${RCON_PORT:-25575}:25575" volumes: - minecraft-data:/data networks: - minecraft-network labels: - "coolify.managed=true" healthcheck: test: mc-health interval: 30s timeout: 10s retries: 3 start_period: 180s # ===== SFTP/SSH SERVER ===== sftp: build: context: . dockerfile: Dockerfile.sftp container_name: ${CONTAINER_NAME:-minecraft-server}-sftp restart: unless-stopped environment: - PUID=1000 - PGID=1000 - TZ=${TIMEZONE:-Europe/Berlin} - USER_NAME=mcadmin - PASSWORD_ACCESS=true - USER_PASSWORD=${SFTP_PASSWORD:-changeme123} - DOCKER_MODS=linuxserver/mods:openssh-server-docker-cli - MC_CONTAINER=${CONTAINER_NAME:-minecraft-server} ports: - "${SFTP_PORT:-2222}:2222" volumes: - minecraft-data:/minecraft - /var/run/docker.sock:/var/run/docker.sock:ro networks: - minecraft-network labels: - "coolify.managed=true" depends_on: - minecraft volumes: minecraft-data: name: ${CONTAINER_NAME:-minecraft-server}-data driver: local labels: - "coolify.managed=true" networks: minecraft-network: driver: bridge labels: - "coolify.managed=true"