quectocraft2/docker-compose.yml

44 lines
1.9 KiB
YAML

# Docker Compose file to make it simple to compile and run
# quectocraft in docker. Automatically compiles the dockerfile
# Author: Tyler Murphy <tylerm.dev>
version: '3.8'
services:
# This container contains the quectocraft binary and all its runtime
# required dependencies and files (such as plugins)
quectocraft:
# Set container name to make it look more pretty, can be removed
# I just dont like docker's default names
container_name: quectocraft
# Set this container to use and build the Dockerfile in the current directory
# See that Dockerfile for what it does
build: .
# These are the default envrionment variables that quectocraft uses, just
# respecified so that its easy to see and cange
environment:
# Says what messages are to be logged. Accepted values are (trace, debug, info, warn, error)
# See the crate documentation at https://docs.rs/env_logger/latest/env_logger/
- RUST_LOG=info
# The address that quectocraft will bind to. Makes sence to just keep this 0.0.0.0 here and just
# change the bind in the ports section of this compose file
- QC_ADDR=0.0.0.0
# The port the server listens on. Uses default Minecraft port 25565
- QC_PORT=25565
# The max player count of the server, default is 20
- QC_MAX_PLAYERS=20
# List all the volumes that the plugin needs
# /data is the containers working directory
volumes:
# This folder contains all plugins that the server runs
# This directory should be read only, it makes no sense
# for the plugin lua files to be modified at runtime
- ./plugins:/data/plugins:ro
# List all networking binds and ports
ports:
# By defualt we use port 25565 which is used by Minecraft
# Also we bind to 0.0.0.0 to allow all ips
- "0.0.0.0:25565:25565"
# Make sure the container is always running
restart: unless-stopped