468 lines
12 KiB
YAML
Executable File
468 lines
12 KiB
YAML
Executable File
services:
|
|
velocity:
|
|
image: itzg/mc-proxy:java25-2026.9.0
|
|
user: 2015:2015 # minecraft_server:minecraft_server
|
|
restart: unless-stopped
|
|
depends_on:
|
|
init:
|
|
condition: service_completed_successfully
|
|
restart: true
|
|
luckperms:
|
|
condition: service_healthy
|
|
restart: true
|
|
fabric:
|
|
condition: service_healthy
|
|
restart: true
|
|
paper:
|
|
condition: service_healthy
|
|
restart: true
|
|
secrets:
|
|
- rcon_password
|
|
- forwarding_secret
|
|
- luckperms_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
|
|
VELOCITY_VERSION: "4.1.1"
|
|
SERVER_NAME: Illegal Crime
|
|
MINECRAFT_VERSION: "1.21.11"
|
|
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_LUCKPERMS_PASSWORD_FILE: /run/secrets/luckperms_password
|
|
|
|
PLUGINS: |
|
|
https://github.com/dbkynd-minecraft/VelocityPlayerList/releases/download/v1.0/PlayerList-1.0.jar
|
|
MODRINTH_PROJECTS: |
|
|
carbon:yGY2bbis
|
|
global-whitelist:5GDSLhSp
|
|
luckperms:tamnmXad
|
|
miniplaceholders:Kpbing8i
|
|
networkjoinmessages:1MJzJZCs
|
|
signedvelocity:OxMy0xf6
|
|
velocitab:aWnzUwbr
|
|
labels:
|
|
diun.enable: "true"
|
|
diun.watch_repo: "true"
|
|
diun.include_tags: "stable"
|
|
|
|
bluemap:
|
|
image: ghcr.io/bluemap-minecraft/bluemap:v5.20
|
|
user: 2015:2015 # minecraft_server:minecraft_server
|
|
restart: unless-stopped
|
|
depends_on:
|
|
init:
|
|
condition: service_completed_successfully
|
|
restart: true
|
|
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
|
|
labels:
|
|
diun.enable: "true"
|
|
diun.watch_repo: "true"
|
|
diun.include_tags: "latest"
|
|
|
|
paper:
|
|
image: itzg/minecraft-server:2026.9.0-java25
|
|
restart: unless-stopped
|
|
depends_on:
|
|
init:
|
|
condition: service_completed_successfully
|
|
restart: true
|
|
luckperms:
|
|
condition: service_healthy
|
|
restart: true
|
|
healthcheck:
|
|
test: mc-health
|
|
start_period: 5m
|
|
interval: 5s
|
|
retries: 20
|
|
secrets:
|
|
- rcon_password
|
|
- forwarding_secret
|
|
- luckperms_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
|
|
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.11"
|
|
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_PASSWORD_FILE: /run/secrets/luckperms_password
|
|
|
|
PLUGINS: |
|
|
https://github.com/EssentialsX/Essentials/releases/download/2.22.0/EssentialsX-2.22.0.jar
|
|
|
|
MODRINTH_PROJECTS: |
|
|
bluemap:Vb2ZE8bR
|
|
chunky:P3y2MXnd
|
|
freedomchat:NsY1L3hZ
|
|
luckperms:b0mk8uS6
|
|
multiverse-core:YZ2Ji4IS
|
|
multiverse-inventories:BuvLmql9
|
|
multiverse-netherportals:RRa80eDI
|
|
signedvelocity:rrIsooky
|
|
stfu-velocity:Y3nJXOQT
|
|
vaultunlocked:cLNipSgw
|
|
worldedit:F5ea2ov3
|
|
labels:
|
|
diun.enable: "false"
|
|
diun.watch_repo: "true"
|
|
diun.include_tags: "latest"
|
|
|
|
fabric:
|
|
image: itzg/minecraft-server:2026.9.0-java25
|
|
restart: unless-stopped
|
|
depends_on:
|
|
init:
|
|
condition: service_completed_successfully
|
|
restart: true
|
|
luckperms:
|
|
condition: service_healthy
|
|
restart: true
|
|
healthcheck:
|
|
test: mc-health
|
|
start_period: 5m
|
|
interval: 5s
|
|
retries: 20
|
|
secrets:
|
|
- rcon_password
|
|
- forwarding_secret
|
|
- luckperms_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.11"
|
|
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_PASSWORD_FILE: /run/secrets/luckperms_password
|
|
|
|
MODRINTH_PROJECTS: |
|
|
adventure-platform-mod:kuv2yi7X
|
|
axiom:SAOZ8jry
|
|
badpackets:SZTlaMHp
|
|
block-event-separator:sqitifh7
|
|
bluemap:TROfpX7m
|
|
cancelchat-fabric:kH3c4qr6
|
|
carpet-extra:aQr1yD5l
|
|
carpet-tis-addition:pCFzPqgG
|
|
cloth-config:xuX40TN5
|
|
collective:e4SDY5SX
|
|
capture-playback:x6HoAPQ6
|
|
carpet:HzPcczDK
|
|
fabric-api:6qAuTtLR
|
|
fabricproxy-lite:nR8AIdvx
|
|
fabric-language-kotlin:eRRZzGMc
|
|
g4mespeed:aOjO3CsD
|
|
krypton:O9LmWYR7
|
|
ksyxis:kL32PN9Q
|
|
litematica-server-paster:NxXeWjl7
|
|
lithium:Ow7wA0kG
|
|
luckperms:CzCJJMuo
|
|
melius-essentials:kVtUvNhZ
|
|
mods-command:kr5sf0TO
|
|
no-chat-reports:rhykGstm
|
|
no-join-leave-messages:OM515qUi
|
|
owo-lib:33Ei8Thm
|
|
packet-fixer:XsMMpmvW
|
|
random-dust:AbuWUjFU
|
|
redstone-multimeter:9s5DeFH4
|
|
servercore:zg8VIycZ
|
|
servux:9041JwWA
|
|
signedvelocity:oX5sjplv
|
|
spark:gonLOAU1
|
|
threadtweak:9t60vZ1h
|
|
vanilla-permissions:hA27RLKS
|
|
worldedit:oY3E2pzA
|
|
labels:
|
|
diun.enable: "true"
|
|
diun.watch_repo: "true"
|
|
diun.include_tags: "latest"
|
|
|
|
luckperms:
|
|
image: postgres:17.4
|
|
user: 2015:2015 # minecraft_server:minecraft_server
|
|
restart: unless-stopped
|
|
depends_on:
|
|
init:
|
|
condition: service_completed_successfully
|
|
restart: true
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U luckperms -d luckperms"]
|
|
interval: 10s
|
|
retries: 5
|
|
start_period: 30s
|
|
timeout: 10s
|
|
secrets:
|
|
- luckperms_password
|
|
networks:
|
|
minecraft_server_network:
|
|
ipv4_address: "10.100.1.2"
|
|
ports:
|
|
- ${LUCKPERMS_PORT}:5432
|
|
volumes:
|
|
- luckperms_data:/var/lib/postgresql/data:rw
|
|
- backups:/backups:rw
|
|
- /etc/passwd:/etc/passwd:ro
|
|
environment:
|
|
POSTGRES_PASSWORD_FILE: /run/secrets/luckperms_password
|
|
POSTGRES_USER: luckperms
|
|
POSTGRES_DB: luckperms
|
|
PGDATA: /var/lib/postgresql/data/pgdata
|
|
labels:
|
|
diun.enable: "false"
|
|
diun.watch_repo: "true"
|
|
diun.include_tags: "latest"
|
|
|
|
schematics:
|
|
image: registry.leaf.home.kappeh.org/kappeh/minecraft_schematics_web:latest
|
|
user: 2015:2015 # minecraft_server:minecraft_server
|
|
restart: unless-stopped
|
|
environment:
|
|
ADDRESS: 0.0.0.0
|
|
PORT: 80
|
|
SCHEM_DIR: /schematics
|
|
volumes:
|
|
- schematics:/schematics:rw
|
|
networks:
|
|
minecraft_server_network:
|
|
ipv4_address: "10.100.1.7"
|
|
ports:
|
|
- 25585:80
|
|
labels:
|
|
diun.enable: "false"
|
|
diun.watch_repo: "true"
|
|
diun.include_tags: "latest"
|
|
|
|
duplicati:
|
|
image: duplicati/duplicati:2.3.0.0
|
|
user: 2015:2015 # minecraft_server:minecraft_server
|
|
restart: unless-stopped
|
|
depends_on:
|
|
init:
|
|
condition: service_completed_successfully
|
|
restart: true
|
|
env_file: ./.env
|
|
networks:
|
|
minecraft_server_network:
|
|
ipv4_address: "10.100.1.8"
|
|
ports:
|
|
- 8201:8200 # Web UI
|
|
volumes:
|
|
- duplicati_data:/data:rw
|
|
- backups:/source:ro
|
|
- /mnt/minecraft_server/backups:/dest:rw
|
|
labels:
|
|
diun.enable: "true"
|
|
diun.watch_repo: "true"
|
|
diun.include_tags: "latest"
|
|
|
|
# Helper for dumping sqlite databases during backups
|
|
sqlite_helper:
|
|
image: grepular/sqlite3:3.53.0
|
|
user: 0:0
|
|
restart: no
|
|
network_mode: none
|
|
volumes:
|
|
- backups:/backups:rw
|
|
- velocity_data:/velocity_data:ro
|
|
- paper_data:/paper_data:ro
|
|
labels:
|
|
diun.enable: "true"
|
|
diun.watch_repo: "true"
|
|
diun.include_tags: "latest"
|
|
|
|
init:
|
|
image: busybox:1.37.0
|
|
user: root:root
|
|
command: /init.sh
|
|
restart: no
|
|
network_mode: none
|
|
volumes:
|
|
- ./scripts/init.sh:/init.sh:ro
|
|
- backups:/backups:rw
|
|
# 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
|
|
- duplicati_data:/duplicati_data:rw
|
|
# These files are coppied to /paper_data during init
|
|
- ./paper/data/bukkit.yml:/bukkit.yml:ro
|
|
- ./paper/data/commands.yml:/commands.yml:ro
|
|
- ./paper/data/spigot.yml:/spigot.yml:ro
|
|
labels:
|
|
diun.enable: "true"
|
|
diun.watch_repo: "true"
|
|
diun.include_tags: "latest"
|
|
|
|
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
|
|
luckperms_password:
|
|
environment: LUCKPERMS_PASSWORD
|
|
|
|
volumes:
|
|
backups:
|
|
bluemap_data:
|
|
bluemap_maps:
|
|
bluemap_web:
|
|
fabric_data:
|
|
luckperms_data:
|
|
paper_data:
|
|
schematics:
|
|
velocity_data:
|
|
duplicati_data:
|
|
|