modified: docker-compose.yaml

new file:   scripts/console.sh
	new file:   scripts/logs.sh
	new file:   scripts/restart.sh
	new file:   scripts/start.sh
	new file:   scripts/stop.sh
This commit is contained in:
SimolZimol
2025-12-09 13:03:27 +01:00
parent 9f66526fbe
commit 57ba8c1294
6 changed files with 73 additions and 0 deletions

View File

@@ -90,6 +90,7 @@ services:
- PASSWORD_ACCESS=true
- USER_PASSWORD=${SFTP_PASSWORD:-changeme123}
- DOCKER_MODS=linuxserver/mods:openssh-server-docker-cli
- MC_CONTAINER=${CONTAINER_NAME:-minecraft-server}
ports:
- "${SFTP_PORT:-2222}:2222"
@@ -97,6 +98,7 @@ services:
volumes:
- minecraft-data:/minecraft
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./scripts:/scripts:ro
networks:
- minecraft-network

31
scripts/console.sh Normal file
View File

@@ -0,0 +1,31 @@
#!/bin/bash
# Minecraft Console - Live Logs mit Command-Eingabe
CONTAINER="${MC_CONTAINER:-minecraft-server}"
echo "=== Minecraft Console ==="
echo "Container: $CONTAINER"
echo "Drücke STRG+C zum Beenden"
echo "Commands: 'say <text>', 'list', 'stop', etc."
echo "=========================="
echo ""
# Starte Live-Logs im Hintergrund
docker logs -f "$CONTAINER" 2>&1 &
LOGS_PID=$!
# Trap für sauberes Beenden
trap "kill $LOGS_PID 2>/dev/null; exit" INT TERM
# Command-Loop
while true; do
read -p "> " cmd
if [ -n "$cmd" ]; then
if [ "$cmd" = "exit" ] || [ "$cmd" = "quit" ]; then
echo "Beende Console..."
kill $LOGS_PID 2>/dev/null
exit 0
fi
docker exec "$CONTAINER" rcon-cli "$cmd"
fi
done

11
scripts/logs.sh Normal file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
# View live logs
CONTAINER="${MC_CONTAINER:-minecraft-server}"
LINES="${1:-100}"
echo "=== Minecraft Logs (last $LINES lines) ==="
echo "Drücke STRG+C zum Beenden"
echo ""
docker logs -f "$CONTAINER" --tail "$LINES"

9
scripts/restart.sh Normal file
View File

@@ -0,0 +1,9 @@
#!/bin/bash
# Restart Minecraft Server
CONTAINER="${MC_CONTAINER:-minecraft-server}"
echo "Restarting Minecraft Server: $CONTAINER"
/scripts/stop.sh
sleep 3
/scripts/start.sh

8
scripts/start.sh Normal file
View File

@@ -0,0 +1,8 @@
#!/bin/bash
# Start Minecraft Server
CONTAINER="${MC_CONTAINER:-minecraft-server}"
echo "Starting Minecraft Server: $CONTAINER"
docker start "$CONTAINER"
docker logs -f "$CONTAINER" --tail 50

12
scripts/stop.sh Normal file
View File

@@ -0,0 +1,12 @@
#!/bin/bash
# Stop Minecraft Server (graceful)
CONTAINER="${MC_CONTAINER:-minecraft-server}"
echo "Stopping Minecraft Server: $CONTAINER"
echo "Sending 'stop' command..."
docker exec "$CONTAINER" rcon-cli stop
echo "Waiting for graceful shutdown (max 60s)..."
docker stop -t 60 "$CONTAINER"
echo "Server stopped."