diff --git a/.gitea/workflows/verify.yaml b/.gitea/workflows/verify.yaml new file mode 100644 index 0000000..fddece0 --- /dev/null +++ b/.gitea/workflows/verify.yaml @@ -0,0 +1,37 @@ +name: Verify configuration + +env: + GITEA_TOKEN: ${{ secrets.GIT_TOKEN }} + SERVER_PORT: 50000 + VOICE_CHAT_PORT: 50001 + RCON_PORT: 50002 + BLUEMAP_PORT: 50003 + GEYSER_PORT: 50004 + +jobs: + verify-healthy: + runs-on: linux-amd64 + + steps: + - uses: actions/checkout@v4 + + - name: Start stack + run: docker compose up -d + + - name: Check health + run: | + for i in {1..60}; do + status=$(docker inspect --format='{{if .State.Health}}{{.State.Health.Status}}{{else}}starting{{end}}' minecraftserver-mc-1 2>/dev/null || echo "missing") + if [ "$status" = "healthy" ]; then + echo "Server healthy" + exit 0 + fi + sleep 5 + done + + echo "Server failed health check" + exit 1 + + - name: Cleanup + if: always() + run: docker compose down -v \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index ef99d2b..026f265 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,38 +6,22 @@ services: stdin_open: true user: "${UID}:${GID}" ports: - - "25565:25565" - - "24454:24454/udp" - - "25585:25585" - - "8100:8100" - - "19132:19132/udp" + - "${SERVER_PORT}:25565" + - "${VOICE_CHAT_PORT}:24454/udp" + - "${RCON_PORT}:25585" + - "${BLUEMAP_PORT}:8100" + - "${GEYSER_PORT}:19132/udp" environment: VERSION: "1.21.4" ANNOUNCE_PLAYER_ACHIEVEMENTS: false EULA: "TRUE" TYPE: PAPER - PLUGINS: | - #https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot - #https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot - https://github.com/SkinsRestorer/SkinsRestorer/releases/latest/download/SkinsRestorer.jar - https://github.com/oddlama/vane/releases/download/v1.18.0/vane-core-1.18.0.jar - #https://github.com/oddlama/vane/releases/download/v1.18.0/vane-permissions-1.18.0.jar - https://github.com/oddlama/vane/releases/download/v1.18.0/vane-trifles-1.18.0.jar - https://github.com/oddlama/vane/releases/download/v1.18.0/vane-admin-1.18.0.jar - #https://github.com/oddlama/vane/releases/download/v1.18.0/vane-bedtime-1.18.0.jar - https://github.com/BlueMap-Minecraft/BlueMap/releases/download/v5.7/bluemap-5.7-paper.jar - https://github.com/froobynooby/SeeMore/releases/download/v1.0.2/SeeMore-1.0.2.jar - #https://github.com/ViaVersion/ViaVersion/releases/download/5.3.2/ViaVersion-5.3.2.jar - #https://github.com/ViaVersion/ViaBackwards/releases/download/5.3.2/ViaBackwards-5.3.2.jar - #https://github.com/ViaVersion/ViaRewind/releases/download/4.0.7/ViaRewind-4.0.7.jar - #https://github.com/4drian3d/AuthMeVelocity/releases/download/4.1.2/AuthMeVelocity-Paper-4.1.2.jar - #https://github.com/AuthMe/AuthMeReloaded/releases/download/5.6.0/AuthMe-5.6.0.jar - #https://github.com/TuxCoding/FastLogin/releases/download/1.12-kick-toggle/FastLoginBukkit.jar + PLUGINS: COPY_CONFIG_DEST: "/data" ONLINE_MODE: false RCON_PASSWORD: ${RCON_PASSWORD} - RCON_PORT: 25585 - MAX_MEMORY: "8G" + RCON_PORT: ${RCON_PORT} + MAX_MEMORY: "4G" SPAWN_PROTECTION: 0 ENABLE_WHITELIST: true volumes: @@ -47,9 +31,7 @@ services: restart: unless-stopped broadcaster: - build: - context: ./mcxboxbroadcast - dockerfile: Dockerfile + image: ghcr.io/mcxboxbroadcast/standalone:latest user: "${UID}:${GID}" depends_on: #proxy: @@ -57,5 +39,5 @@ services: mc: condition: service_healthy volumes: - - ./broadcast-data:/app + - ./mcxboxbroadcast/config:/opt/data/config restart: unless-stopped diff --git a/mcxboxbroadcast/Dockerfile b/mcxboxbroadcast/Dockerfile index b1cf005..44ca264 100644 --- a/mcxboxbroadcast/Dockerfile +++ b/mcxboxbroadcast/Dockerfile @@ -1,5 +1,5 @@ # Use a base image with Java installed -FROM openjdk:17-jdk +FROM amazoncorretto:17.0.19-al2023-headless WORKDIR /app