▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Docker Companion
Docker Companion

Docker Companion

Server and Docker are best friends now!

Оцените первым
98
0

This mod makes dedicated server more friendly for docker usecases, allowing easily create isolated server setup within seconds without using bloated third-party images and pieces of software.

It can:

  • apply server properties from SERVER_PROPERTIES env varibale
  • auto-op players from SERVER_OPERATORS env varibale
  • handles process signals correctly and gracefully shut-down server process
example Dockerfile

Note, entrypoint must exec java binary in order to handle signals properly and have nice graceful shutdown.

FROM eclipse-temurin:25-jre-alpine-3.23 AS server-build
RUN mkdir /server && apk update && apk add wget
WORKDIR /server
RUN wget -O /installer.jar https://maven.neoforged.net/releases/net/neoforged/neoforge/21.1.217/neoforge-21.1.217-installer.jar
RUN java -jar /installer.jar --installServer
RUN echo "eula=true" > eula.txt

FROM eclipse-temurin:25-jre-alpine-3.23
COPY --from=server-build /server /server

RUN cat <<'EOF' > /server/entrypoint.sh
#/usr/bin/env sh
set -e

USER_ID=${USER_ID:-1000}
GROUP_ID=${GROUP_ID:-1000}
USERNAME=${USERNAME:-appuser}

if ! getent group "$GROUP_ID" >/dev/null 2>&1; then
    addgroup -g "$GROUP_ID" "$USERNAME"
fi

if ! id -u "$USER_ID" >/dev/null 2>&1; then
    adduser -D -u "$USER_ID" -G "$USERNAME" -s /bin/bash "$USERNAME"
fi

echo "$SERVER_JAVA_OPTS" > user_jvm_args.txt chown -R "$USER_ID":"$GROUP_ID" . exec su-exec "$USERNAME" sh -c 'exec java @user_jvm_args.txt @libraries/net/neoforged/neoforge/21.1.217/unix_args.txt' EOF

RUN chmod +x /server/entrypoint.sh RUN apk add --no-cache su-exec WORKDIR /server CMD ["/server/entrypoint.sh"]



</details>


<details>
<summary>example docker-compose.yml</summary>

services: minecraft-server: build: ./container container_name: minecraft-server stdin_open: true tty: true ports: - "25565:25565" volumes: - ./data/mods:/server/mods - ./data/world:/server/world environment: SERVER_JAVA_OPTS: |2 -Xms2G -Xmx10G -XX:+UseZGC -XX:+ZGenerational -XX:+AlwaysPreTouch -XX:+UseStringDeduplication SERVER_OPERATORS: |2 op-player-uuid another-op-player-uuid SERVER_PROPERTIES: |2 max-players=20 motd=Welcome to the Minecraft Server! online-mode=false difficulty=normal gamemode=survival spawn-monsters=true view-distance=10 white-list=false pvp=true generate-structures=true max-world-size=29999984 enable-query=false enable-rcon=false enable-status=false restart: unless-stopped


</details>



Партнёрский материал

Как поиграть с друзьями с модом Docker Companion?

Мод Docker Companion куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода Docker Companion будет готов за пару минут - BungeeHost сделает всё за вас.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.21.x

Платформы

Поддерживаемые окружения

Сервер

Детали

Лицензия:
Опубликован:9 месяцев назад
Обновлён:9 месяцев назад
Главная