mirror of
https://github.com/itzg/docker-minecraft-server.git
synced 2026-02-17 07:03:57 +00:00
67 lines
2.1 KiB
YAML
67 lines
2.1 KiB
YAML
# Lazymc requires that the minecraft server have a static IP.
|
|
#
|
|
# To ensure that our servers have a static IP we need to create
|
|
# a network for our services to use.
|
|
#
|
|
# By default, Docker uses 172.17.0.0/16 subnet range.
|
|
# So we need to create a new network in a different subnet
|
|
# See the readme for more information.
|
|
#
|
|
# Please ensure that the subnet falls within the private CIDRs:
|
|
# https://datatracker.ietf.org/doc/html/rfc1918#section-3
|
|
#
|
|
# And that it is not in use by anything else.
|
|
networks:
|
|
minecraft-network:
|
|
driver: bridge
|
|
ipam:
|
|
config:
|
|
- subnet: 172.18.0.0/16
|
|
|
|
services:
|
|
lazymc:
|
|
image: ghcr.io/joesturge/lazymc-docker-proxy:latest
|
|
# the IPs should start at .2 as .1 is reserved for the gateway
|
|
networks:
|
|
minecraft-network:
|
|
ipv4_address: 172.18.0.2
|
|
restart: unless-stopped
|
|
volumes:
|
|
# you should mount the minecraft server dir under /server, using read only.
|
|
- data:/server:ro
|
|
# you need to supply the docker socket, so that the container can run docker command
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
ports:
|
|
# lazymc-docker-proxy acts as a proxy, so there is
|
|
# no need to expose the server port on the Minecraft container
|
|
- "25565:25565"
|
|
|
|
# Standard Docker Minecraft server, also works with other server types
|
|
mc:
|
|
image: itzg/minecraft-server:java21
|
|
# Assign a static IP to the server container
|
|
networks:
|
|
minecraft-network:
|
|
ipv4_address: 172.18.0.3
|
|
# We need to add a label here so that lazymc-docker-proxy knows which
|
|
# container to manage
|
|
labels:
|
|
# Set lazymc.enabled to true to enable lazymc on this container
|
|
- lazymc.enabled=true
|
|
# Required to find the container to manage it
|
|
- lazymc.group=mc
|
|
# Point to the service name of the Minecraft server
|
|
- lazymc.server.address=mc:25565
|
|
tty: true
|
|
stdin_open: true
|
|
# This container should be managed solely by the lazymc container
|
|
# so set restart to no, or else the container will start again...
|
|
restart: no
|
|
environment:
|
|
EULA: "TRUE"
|
|
volumes:
|
|
- data:/data
|
|
|
|
volumes:
|
|
data:
|