Files
minecraft_server/docker-compose.yml
2026-01-15 19:50:50 +00:00

307 lines
8.0 KiB
YAML
Executable File

services:
velocity:
image: itzg/mc-proxy:java21-2025.1.0
container_name: illegal_crime_velocity
user: "${PUID}:${PGID}"
restart: unless-stopped
depends_on:
fabric:
condition: service_healthy
restart: true
paper:
condition: service_healthy
restart: true
luckperms_db:
condition: service_healthy
restart: true
secrets:
- rcon_password
- forwarding_secret
- dclink_guild
- dclink_channel
- dclink_role
- dclink_token
- luckperms_db_password
networks:
illegal_crime_mc_network:
ipv4_address: "10.100.1.3"
ports:
- "${VELOCITY_PORT}:25565/tcp"
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_FILE: /run/secrets/dclink_guild
CFG_DCLINK_CHANNEL_FILE: /run/secrets/dclink_channel
CFG_DCLINK_ROLE_FILE: /run/secrets/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
paper:
image: itzg/minecraft-server:2025.3.0-java23
container_name: illegal_crime_paper
restart: unless-stopped
depends_on:
luckperms_db:
condition: service_healthy
restart: true
secrets:
- rcon_password
- forwarding_secret
- luckperms_db_password
networks:
illegal_crime_mc_network:
ipv4_address: "10.100.1.4"
volumes:
- ./paper/data:/data:rw
- ./paper/config:/config:ro
- ./paper/plugins:/plugins:ro
- ./schematics:/data/plugins/WorldEdit/schematics:rw
environment:
UID: "${PUID}"
GID: "${PGID}"
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:default
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: |
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: illegal_crime_fabric
restart: unless-stopped
depends_on:
luckperms_db:
condition: service_healthy
restart: true
secrets:
- rcon_password
- forwarding_secret
- luckperms_db_password
networks:
illegal_crime_mc_network:
ipv4_address: "10.100.1.5"
volumes:
- ./fabric/data:/data:rw
- ./fabric/config:/config:ro
- ./schematics:/data/config/worldedit/schematics:rw
environment:
UID: "${PUID}"
GID: "${PGID}"
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
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
packet-fixer:XBM9PO5r
random-dust:O4rsiuG0
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: illegal_crime_luckperms_db
user: "${PUID}:${PGID}"
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -U luckperms -d luckperms"]
interval: 10s
retries: 5
start_period: 30s
timeout: 10s
secrets:
- luckperms_db_password
networks:
illegal_crime_mc_network:
ipv4_address: "10.100.1.2"
ports:
- 5434:5432
volumes:
- /etc/passwd:/etc/passwd:ro
- ./luckperms/data:/var/lib/postgresql/data:rw
- ./backups:/backups:rw
environment:
POSTGRES_PASSWORD_FILE: /run/secrets/luckperms_db_password
POSTGRES_USER: luckperms
POSTGRES_DB: luckperms
PGDATA: /var/lib/postgresql/data/pgdata
secrets:
rcon_password:
environment: RCON_PASSWORD
forwarding_secret:
environment: FORWARDING_SECRET
dclink_guild:
environment: DCLINK_GUILD
dclink_channel:
environment: DCLINK_CHANNEL
dclink_role:
environment: DCLINK_ROLE
dclink_token:
environment: DCLINK_TOKEN
luckperms_db_password:
environment: LUCKPERMS_DB_PASSWORD
networks:
illegal_crime_mc_network:
name: illegal_crime_mc_network
driver: bridge
ipam:
driver: default
config:
- subnet: "10.100.1.0/24"
gateway: "10.100.1.1"