383 lines
10 KiB
YAML
Executable File
383 lines
10 KiB
YAML
Executable File
services:
|
|
velocity:
|
|
image: itzg/mc-proxy:java21-2025.1.0
|
|
container_name: minecraft_server_velocity
|
|
user: 2015:2015 # minecraft_server:minecraft_server
|
|
restart: unless-stopped
|
|
depends_on:
|
|
init_volumes:
|
|
condition: service_completed_successfully
|
|
luckperms_db:
|
|
condition: service_healthy
|
|
restart: true
|
|
fabric:
|
|
condition: service_healthy
|
|
restart: true
|
|
paper:
|
|
condition: service_healthy
|
|
restart: true
|
|
secrets:
|
|
- rcon_password
|
|
- forwarding_secret
|
|
- dclink_token
|
|
- luckperms_db_password
|
|
networks:
|
|
minecraft_server_network:
|
|
ipv4_address: "10.100.1.3"
|
|
ports:
|
|
- ${VELOCITY_PORT}:25565
|
|
volumes:
|
|
- velocity_data:/server:rw
|
|
- ./velocity/config:/config:ro
|
|
environment:
|
|
TYPE: VELOCITY
|
|
SERVER_NAME: Illegal Crime
|
|
MINECRAFT_VERSION: "1.21.3"
|
|
INIT_MEMORY: 512m
|
|
MAX_MEMORY: 1G
|
|
|
|
REPLACE_ENV_VARIABLES: true
|
|
ENV_VARIABLE_PREFIX: CFG_
|
|
|
|
ENABLE_RCON: true
|
|
RCON_PORT: 25575
|
|
|
|
RCON_PASSWORD_FILE: /run/secrets/rcon_password
|
|
CFG_RCON_PASSWORD_FILE: /run/secrets/rcon_password
|
|
CFG_DCLINK_GUILD: ${DCLINK_GUILD}
|
|
CFG_DCLINK_CHANNEL: ${DCLINK_CHANNEL}
|
|
CFG_DCLINK_ROLE: ${DCLINK_ROLE}
|
|
CFG_DCLINK_TOKEN_FILE: /run/secrets/dclink_token
|
|
CFG_LUCKPERMS_DB_PASSWORD_FILE: /run/secrets/luckperms_db_password
|
|
|
|
PLUGINS: |
|
|
https://github.com/dbkynd-minecraft/VelocityPlayerList/releases/download/v1.0/PlayerList-1.0.jar
|
|
MODRINTH_PROJECTS: |
|
|
dclink:EjvGsLkv
|
|
huskchat:SZxRjPf7
|
|
luckperms:vtXGoeps
|
|
signedvelocity:Jp1p9BHR
|
|
velocitab:TTtLPunq
|
|
|
|
bluemap:
|
|
image: ghcr.io/bluemap-minecraft/bluemap:v5.7
|
|
container_name: minecraft_server_bluemap
|
|
user: 2015:2015 # minecraft_server:minecraft_server
|
|
restart: unless-stopped
|
|
depends_on:
|
|
init_volumes:
|
|
condition: service_completed_successfully
|
|
fabric:
|
|
condition: service_healthy
|
|
restart: true
|
|
paper:
|
|
condition: service_healthy
|
|
restart: true
|
|
command: -g -w
|
|
networks:
|
|
minecraft_server_network:
|
|
ipv4_address: "10.100.1.6"
|
|
ports:
|
|
- ${BLUEMAP_PORT}:8100
|
|
volumes:
|
|
- bluemap_data:/app/data:rw
|
|
- bluemap_web:/app/web:rw
|
|
- bluemap_maps:/app/web/maps:ro
|
|
- ./bluemap/config:/app/config:ro
|
|
|
|
paper:
|
|
image: itzg/minecraft-server:2025.3.0-java23
|
|
container_name: minecraft_server_paper
|
|
restart: unless-stopped
|
|
depends_on:
|
|
init_volumes:
|
|
condition: service_completed_successfully
|
|
luckperms_db:
|
|
condition: service_healthy
|
|
restart: true
|
|
healthcheck:
|
|
test: mc-health
|
|
start_period: 5m
|
|
interval: 5s
|
|
retries: 20
|
|
secrets:
|
|
- rcon_password
|
|
- forwarding_secret
|
|
- luckperms_db_password
|
|
networks:
|
|
minecraft_server_network:
|
|
ipv4_address: "10.100.1.4"
|
|
volumes:
|
|
- paper_data:/data:rw
|
|
- schematics:/data/plugins/WorldEdit/schematics:rw
|
|
- bluemap_maps:/data/bluemap/web/maps:rw
|
|
- ./paper/config:/config:ro
|
|
- ./paper/plugins:/plugins:ro
|
|
- ./paper/data/bukkit.yml:/data/bukkit.yml:ro
|
|
- ./paper/data/commands.yml:/data/commands.yml:ro
|
|
- ./paper/data/spigot.yml:/data/spigot.yml:ro
|
|
environment:
|
|
UID: 2015 # minecraft_server
|
|
GID: 2015 # minecraft_server
|
|
|
|
EULA: true
|
|
TYPE: PAPER
|
|
SERVER_NAME: Illegal Crime Paper
|
|
MOTD: Best Redstone Server
|
|
VERSION: "1.21.3"
|
|
INIT_MEMORY: 512m
|
|
MAX_MEMORY: 6G
|
|
ENABLE_AUTOPAUSE: true
|
|
MAX_TICK_TIME: -1
|
|
JVM_DD_OPTS: "disable.watchdog:true"
|
|
|
|
ENFORCE_SECURE_PROFILE: false
|
|
SNOOPER_ENABLED: false
|
|
ENABLE_QUERY: false
|
|
|
|
BROADCAST_CONSOLE_TO_OPS: false
|
|
BROADCAST_RCON_TO_OPS: false
|
|
|
|
ONLINE_MODE: false
|
|
OP_PERMISSION_LEVEL: 2
|
|
MAX_PLAYERS: 50
|
|
DIFFICULTY: easy
|
|
LEVEL: survival
|
|
|
|
MODE: creative
|
|
LEVEL_TYPE: minecraft:normal
|
|
ENABLE_COMMAND_BLOCK: true
|
|
GENERATE_STRUCTURES: false
|
|
SPAWN_ANIMALS: false
|
|
SPAWN_MONSTERS: false
|
|
SPAWN_NPCS: false
|
|
SPAWN_PROTECTION: 0
|
|
|
|
USE_AIKAR_FLAGS: true
|
|
LOG_TIMESTAMP: true
|
|
|
|
REPLACE_ENV_IN_PLACE: true
|
|
REPLACE_ENV_DURING_SYNC: true
|
|
REPLACE_ENV_VARIABLE_PREFIX: CFG_
|
|
|
|
ENABLE_RCON: true
|
|
RCON_PORT: 25575
|
|
RCON_PASSWORD_FILE: /run/secrets/rcon_password
|
|
|
|
CFG_RCON_PASSWORD_FILE: /run/secrets/rcon_password
|
|
CFG_FORWARDING_SECRET_FILE: /run/secrets/forwarding_secret
|
|
CFG_LUCKPERMS_DB_PASSWORD_FILE: /run/secrets/luckperms_db_password
|
|
|
|
PLUGINS: |
|
|
https://github.com/EssentialsX/Essentials/releases/download/2.20.1/EssentialsX-2.20.1.jar
|
|
|
|
MODRINTH_PROJECTS: |
|
|
bluemap:NeDjOeW8
|
|
chunky:SmZRkQyR
|
|
freedomchat:NdbpBqOZ
|
|
luckperms:cfNN7sys
|
|
multiverse-core:jbQopAkk
|
|
multiverse-inventories:diNvP5DO
|
|
multiverse-netherportals:Dkyax1rl
|
|
signedvelocity:TKC72r9l
|
|
stfu-velocity:Y3nJXOQT
|
|
vaultunlocked:fC53e1Vr
|
|
worldedit:4jRlujfz
|
|
|
|
fabric:
|
|
image: itzg/minecraft-server:2025.3.0-java23
|
|
container_name: minecraft_server_fabric
|
|
restart: unless-stopped
|
|
depends_on:
|
|
init_volumes:
|
|
condition: service_completed_successfully
|
|
luckperms_db:
|
|
condition: service_healthy
|
|
restart: true
|
|
healthcheck:
|
|
test: mc-health
|
|
start_period: 5m
|
|
interval: 5s
|
|
retries: 20
|
|
secrets:
|
|
- rcon_password
|
|
- forwarding_secret
|
|
- luckperms_db_password
|
|
networks:
|
|
minecraft_server_network:
|
|
ipv4_address: "10.100.1.5"
|
|
volumes:
|
|
- fabric_data:/data:rw
|
|
- schematics:/data/config/worldedit/schematics:rw
|
|
- bluemap_maps:/data/bluemap/web/maps:rw
|
|
- ./fabric/config:/config:ro
|
|
environment:
|
|
UID: 2015 # minecraft_server
|
|
GID: 2015 # minecraft_server
|
|
|
|
EULA: true
|
|
TYPE: FABRIC
|
|
SERVER_NAME: Illegal Crime Fabric
|
|
MOTD: Best Redstone Server
|
|
VERSION: "1.21.3"
|
|
INIT_MEMORY: 512m
|
|
MAX_MEMORY: 4G
|
|
ENABLE_AUTOPAUSE: true
|
|
MAX_TICK_TIME: -1
|
|
|
|
ENFORCE_SECURE_PROFILE: false
|
|
SNOOPER_ENABLED: false
|
|
ENABLE_QUERY: false
|
|
|
|
BROADCAST_CONSOLE_TO_OPS: false
|
|
BROADCAST_RCON_TO_OPS: false
|
|
|
|
ONLINE_MODE: false
|
|
OP_PERMISSION_LEVEL: 2
|
|
MAX_PLAYERS: 50
|
|
DIFFICULTY: easy
|
|
LEVEL: world
|
|
|
|
MODE: creative
|
|
LEVEL_TYPE: minecraft:flat
|
|
ENABLE_COMMAND_BLOCK: true
|
|
GENERATE_STRUCTURES: false
|
|
SPAWN_ANIMALS: false
|
|
SPAWN_MONSTERS: false
|
|
SPAWN_NPCS: false
|
|
SPAWN_PROTECTION: 0
|
|
|
|
USE_AIKAR_FLAGS: true
|
|
LOG_TIMESTAMP: true
|
|
|
|
REPLACE_ENV_IN_PLACE: true
|
|
REPLACE_ENV_DURING_SYNC: true
|
|
REPLACE_ENV_VARIABLE_PREFIX: CFG_
|
|
|
|
ENABLE_RCON: true
|
|
RCON_PORT: 25575
|
|
RCON_PASSWORD_FILE: /run/secrets/rcon_password
|
|
|
|
CFG_RCON_PASSWORD_FILE: /run/secrets/rcon_password
|
|
CFG_FORWARDING_SECRET_FILE: /run/secrets/forwarding_secret
|
|
CFG_LUCKPERMS_DB_PASSWORD_FILE: /run/secrets/luckperms_db_password
|
|
|
|
MODRINTH_PROJECTS: |
|
|
badpackets:hjhT2sMz
|
|
block-event-separator:R7hmJOUs
|
|
bluemap:Dr2hvJBc
|
|
carpet-extra:WDB4578I
|
|
carpet-tis-addition:znBCTqSr
|
|
cloth-config:FgXq8Sfo
|
|
collective:UqTBXnWC
|
|
capture-playback:YmnYuB3l
|
|
carpet:ZF8ufR9V
|
|
fabric-api:Ybg4nYGj
|
|
fabricproxy-lite:AQhF7kvw
|
|
fabric-language-kotlin:476dzMG5
|
|
g4mespeed:oPV7qsy2
|
|
krypton:Acz3ttTp
|
|
ksyxis:ueN87SNs
|
|
litematica-server-paster:LttjgeM4
|
|
lithium:W0Cc7ZVd
|
|
luckperms:S8033hpf
|
|
melius-essentials:VUp9aVl4
|
|
mods-command:1F0YwdWN
|
|
no-chat-reports:Cg7X9iDa
|
|
no-join-leave-messages:g3jqChgD
|
|
owo-lib:3Q7oLImc
|
|
packet-fixer:XBM9PO5r
|
|
random-dust:O4rsiuG0
|
|
redstone-helper:YqT7Ricu
|
|
redstone-multimeter:kTiP34Lj
|
|
servercore:PgKTFLEL
|
|
servux:u85kwLvC
|
|
signedvelocity:AusZl7xe
|
|
spark:rExumjPo
|
|
threadtweak:HV6EY0h3
|
|
vanilla-permissions:7awQNHzw
|
|
worldedit:3TQ8W0Ar
|
|
|
|
luckperms_db:
|
|
image: postgres:17.4
|
|
container_name: minecraft_server_luckperms_db
|
|
user: 2015:2015 # minecraft_server:minecraft_server
|
|
restart: unless-stopped
|
|
depends_on:
|
|
init_volumes:
|
|
condition: service_completed_successfully
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U luckperms -d luckperms"]
|
|
interval: 10s
|
|
retries: 5
|
|
start_period: 30s
|
|
timeout: 10s
|
|
secrets:
|
|
- luckperms_db_password
|
|
networks:
|
|
minecraft_server_network:
|
|
ipv4_address: "10.100.1.2"
|
|
ports:
|
|
- ${LUCKPERMS_PORT}:5432
|
|
volumes:
|
|
- luckperms_data:/var/lib/postgresql/data:rw
|
|
- /etc/passwd:/etc/passwd:ro
|
|
# - ./backups:/backups:rw
|
|
environment:
|
|
POSTGRES_PASSWORD_FILE: /run/secrets/luckperms_db_password
|
|
POSTGRES_USER: luckperms
|
|
POSTGRES_DB: luckperms
|
|
PGDATA: /var/lib/postgresql/data/pgdata
|
|
|
|
init_volumes:
|
|
container_name: minecraft_server_init_volumes
|
|
image: busybox:1.37.0
|
|
user: root:root
|
|
command: /init_volumes.sh
|
|
restart: no
|
|
network_mode: none
|
|
volumes:
|
|
- ./scripts/init_volumes.sh:/init_volumes.sh:ro
|
|
# Used for resolving user and group names within the init script
|
|
- /etc/passwd:/etc/passwd:ro
|
|
- /etc/group:/etc/group:ro
|
|
# Mount all named volumes so they can be initialised
|
|
- velocity_data:/velocity_data:rw
|
|
- bluemap_data:/bluemap_data:rw
|
|
- bluemap_web:/bluemap_web:rw
|
|
- bluemap_maps:/bluemap_maps:rw
|
|
- schematics:/schematics:rw
|
|
- paper_data:/paper_data:rw
|
|
- fabric_data:/fabric_data:rw
|
|
- luckperms_data:/luckperms_data:rw
|
|
|
|
networks:
|
|
minecraft_server_network:
|
|
name: minecraft_server_network
|
|
driver: bridge
|
|
ipam:
|
|
driver: default
|
|
config:
|
|
- subnet: "10.100.1.0/24"
|
|
gateway: "10.100.1.1"
|
|
|
|
secrets:
|
|
rcon_password:
|
|
environment: RCON_PASSWORD
|
|
forwarding_secret:
|
|
environment: FORWARDING_SECRET
|
|
dclink_token:
|
|
environment: DCLINK_TOKEN
|
|
luckperms_db_password:
|
|
environment: LUCKPERMS_DB_PASSWORD
|
|
|
|
volumes:
|
|
velocity_data:
|
|
bluemap_data:
|
|
bluemap_web:
|
|
bluemap_maps:
|
|
schematics:
|
|
paper_data:
|
|
fabric_data:
|
|
luckperms_data:
|