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

238 lines
6.4 KiB
YAML
Executable File

services:
velocity:
image: itzg/mc-proxy:java21-2025.1.0
container_name: illegal_crime_velocity
user: "${UID}:${GID}"
restart: unless-stopped
depends_on:
fabric:
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
luckperms:vtXGoeps
signedvelocity:Jp1p9BHR
velocitab:TTtLPunq
fabric:
image: itzg/minecraft-server
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: "${UID}"
GID: "${GID}"
EULA: true
TYPE: FABRIC
SERVER_NAME: Illegal Crime Fabric
MOTD: Credit
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
RCON_CMDS_STARTUP: |-
gamerule announceAdvancements false
gamerule commandBlocksEnabled true
gamerule commandBlockOutput false
gamerule doDaylightCycle false
gamerule doEntityDrops false
gamerule doFireTick false
gamerule doInsomnia false
gamerule doImmediateRespawn true
gamerule doMobLoot false
gamerule doMobSpawning false
gamerule doPatrolSpawning false
gamerule doTileDrops false
gamerule doTraderSpawning false
gamerule doVinesSpread false
gamerule doWeatherCycle false
gamerule doWardenSpawning false
gamerule keepInventory true
gamerule logAdminCommands false
gamerule modGriefing false
gamerule playersSleepingPercentage 0
gamerule recipesUnlock false
gamerule showRecipeMessages false
gamerule tntExplodes false
time set 1000
weather clear
MODRINTH_PROJECTS: |
badpackets:hjhT2sMz
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
mods-command:1F0YwdWN
no-chat-reports:Cg7X9iDa
packet-fixer:XBM9PO5r
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: "${UID}:${GID}"
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"
volumes:
- /etc/passwd:/etc/passwd:ro
- ./luckperms/data:/var/lib/postgresql/data: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"