From c036755c2edc82266d242abb9a74544d47268f78 Mon Sep 17 00:00:00 2001 From: Oier Bravo Urtasun Date: Sat, 26 Jul 2025 15:09:45 +0200 Subject: [PATCH] compose stuff --- docker-compose.yml | 111 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..66309b4 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,111 @@ +version: "3.8" + +services: + web: + container_name: mc-web-mechanical + image: nginx + volumes: + - ./web:/usr/share/nginx/html + ports: + - "8080:80" + mc: + image: itzg/minecraft-server + tty: true + stdin_open: true + depends_on: + - web + ports: + - "25565:25565" + - "24454:24454/udp" + restart: unless-stopped + container_name: mc-web-mechanical + environment: + OVERRIDE_SERVER_PROPERTIES: "TRUE" + EULA: "TRUE" + PACKWIZ_URL: http://mechanical.oier.ovh/pack/pack.toml + TYPE: NEOFORGE + VERSION: 1.21.1 + FORGE_VERSION: 21.1.193 + MEMORY: 30G + MOTD: "§l§cMechanical SMP 2§r" + ONLINE_MODE: "FALSE" + ALLOW_FLIGHT: "TRUE" + RCON_PASSWORD: "${RCON_PASSWORD}" + BROADCAST_RCON_TO_OPS: "FALSE" + EXISTING_OPS_FILE: SYNCHRONIZE + ENABLE_QUERY: "TRUE" + ICON: http://mechanical.oier.ovh/pack/icon.png + JVM_OPTS: -Dminecraft.api.env=custom -Dminecraft.api.auth.host=https://auth.oier.ovh -Dminecraft.api.account.host=https://auth.oier.ovh/user -Dminecraft.api.session.host=https://auth.oier.ovh/api/yggdrasil -Dminecraft.api.services.host=https://auth.oier.ovh/api/yggdrasil + + networks: + - mechanicalnet + volumes: + - ../data/mechanical-neoforge:/data + #- ./simple-discord-bot.toml:/data/config/simple-discord-bot.toml + grafana: + image: grafana/grafana-oss:${GRAFANA_VERSION:-8.3.3} + ports: + - "3000:3000" + volumes: + - grafana-lib:/var/lib/grafana + - ./grafana/provisioning:/etc/grafana/provisioning + - ./dashboards:/etc/grafana/dashboards + depends_on: + - prometheus + networks: + - mechanicalnet + monitor: + image: itzg/mc-monitor + command: export-for-prometheus + environment: + EXPORT_SERVERS: mc + DEBUG: "true" + depends_on: + - mc + networks: + - mechanicalnet + cadvisor: + image: gcr.io/cadvisor/cadvisor:v0.47.1 + volumes: + - /:/rootfs:ro + - /var/run:/var/run:rw + - /sys:/sys:ro + - /var/lib/docker/:/var/lib/docker:ro + networks: + - mechanicalnet + prometheus: + image: prom/prometheus + ports: + - "9090:9090" + volumes: + - ./prometheus.yml:/etc/prometheus/prometheus.yml + - prometheus-tsdb:/prometheus + depends_on: + - monitor + - minecraft-exporter + networks: + - mechanicalnet + minecraft-exporter: + build: + context: ./minecraft-exporter + ports: + - "8000:8000" + environment: + RCON_HOST: mc + RCON_PORT: 25575 + RCON_PASSWORD: "${RCON_PASSWORD}" + FORGE_SERVER: True + volumes: + - ../data/mechanical-neoforge/world:/world:ro + depends_on: + - mc + networks: + - mechanicalnet +volumes: + mechanical-neoforge: {} + world: {} + prometheus-tsdb: {} + grafana-lib: {} +networks: + mechanicalnet: + driver: bridge