Update backup script

This commit is contained in:
2026-01-21 19:14:59 +00:00
parent 0024c5e1d7
commit 6b3eec8303
10 changed files with 383 additions and 80 deletions

View File

@@ -5,9 +5,10 @@ services:
user: 2015:2015 # minecraft_server:minecraft_server
restart: unless-stopped
depends_on:
init_volumes:
init:
condition: service_completed_successfully
luckperms_db:
restart: true
luckperms:
condition: service_healthy
restart: true
fabric:
@@ -20,7 +21,7 @@ services:
- rcon_password
- forwarding_secret
- dclink_token
- luckperms_db_password
- luckperms_password
networks:
minecraft_server_network:
ipv4_address: "10.100.1.3"
@@ -48,7 +49,7 @@ services:
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
CFG_LUCKPERMS_PASSWORD_FILE: /run/secrets/luckperms_password
PLUGINS: |
https://github.com/dbkynd-minecraft/VelocityPlayerList/releases/download/v1.0/PlayerList-1.0.jar
@@ -65,8 +66,9 @@ services:
user: 2015:2015 # minecraft_server:minecraft_server
restart: unless-stopped
depends_on:
init_volumes:
init:
condition: service_completed_successfully
restart: true
fabric:
condition: service_healthy
restart: true
@@ -90,9 +92,10 @@ services:
container_name: minecraft_server_paper
restart: unless-stopped
depends_on:
init_volumes:
init:
condition: service_completed_successfully
luckperms_db:
restart: true
luckperms:
condition: service_healthy
restart: true
healthcheck:
@@ -103,7 +106,7 @@ services:
secrets:
- rcon_password
- forwarding_secret
- luckperms_db_password
- luckperms_password
networks:
minecraft_server_network:
ipv4_address: "10.100.1.4"
@@ -166,7 +169,7 @@ services:
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
CFG_LUCKPERMS_PASSWORD_FILE: /run/secrets/luckperms_password
PLUGINS: |
https://github.com/EssentialsX/Essentials/releases/download/2.20.1/EssentialsX-2.20.1.jar
@@ -189,9 +192,10 @@ services:
container_name: minecraft_server_fabric
restart: unless-stopped
depends_on:
init_volumes:
init:
condition: service_completed_successfully
luckperms_db:
restart: true
luckperms:
condition: service_healthy
restart: true
healthcheck:
@@ -202,7 +206,7 @@ services:
secrets:
- rcon_password
- forwarding_secret
- luckperms_db_password
- luckperms_password
networks:
minecraft_server_network:
ipv4_address: "10.100.1.5"
@@ -260,7 +264,7 @@ services:
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
CFG_LUCKPERMS_PASSWORD_FILE: /run/secrets/luckperms_password
MODRINTH_PROJECTS: |
badpackets:hjhT2sMz
@@ -298,14 +302,15 @@ services:
vanilla-permissions:7awQNHzw
worldedit:3TQ8W0Ar
luckperms_db:
luckperms:
image: postgres:17.4
container_name: minecraft_server_luckperms_db
container_name: minecraft_server_luckperms
user: 2015:2015 # minecraft_server:minecraft_server
restart: unless-stopped
depends_on:
init_volumes:
init:
condition: service_completed_successfully
restart: true
healthcheck:
test: ["CMD-SHELL", "pg_isready -U luckperms -d luckperms"]
interval: 10s
@@ -313,7 +318,7 @@ services:
start_period: 30s
timeout: 10s
secrets:
- luckperms_db_password
- luckperms_password
networks:
minecraft_server_network:
ipv4_address: "10.100.1.2"
@@ -321,23 +326,35 @@ services:
- ${LUCKPERMS_PORT}:5432
volumes:
- luckperms_data:/var/lib/postgresql/data:rw
- backups:/backups:rw
- /etc/passwd:/etc/passwd:ro
# - ./backups:/backups:rw
environment:
POSTGRES_PASSWORD_FILE: /run/secrets/luckperms_db_password
POSTGRES_PASSWORD_FILE: /run/secrets/luckperms_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
# Helper for dumping sqlite databases during backups
sqlite_helper:
container_name: minecraft_server_sqlite_helper
image: grepular/sqlite3:3.51.2
user: 0:0
restart: no
network_mode: none
volumes:
- ./scripts/init_volumes.sh:/init_volumes.sh:ro
- backups:/backups:rw
- velocity_data:/velocity_data:ro
init:
container_name: minecraft_server_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
@@ -368,8 +385,8 @@ secrets:
environment: FORWARDING_SECRET
dclink_token:
environment: DCLINK_TOKEN
luckperms_db_password:
environment: LUCKPERMS_DB_PASSWORD
luckperms_password:
environment: LUCKPERMS_PASSWORD
volumes:
velocity_data:
@@ -380,3 +397,4 @@ volumes:
paper_data:
fabric_data:
luckperms_data:
backups: