diff --git a/DOCKER.md b/DOCKER.md new file mode 100644 index 0000000..872f0fd --- /dev/null +++ b/DOCKER.md @@ -0,0 +1,71 @@ +# Running Hytale Server with Docker + +It's recommended to run the Hytale server in a containerized environment like Docker for easier management and isolation. The server is new and there maybe be security issues or bugs that could cause harm on a production system, Docker helps mitigate these risks. + +If you want to use Docker after having the `/opt/Hytale/Server` configured, follow these steps: + +## Prerequisites + +- A working setup of the Hytale server. See the main [README](README.md) for installation instructions. +- Docker and Docker Compose installed on your system. You can follow the official Docker [installation guide](https://docs.docker.com/get-started/get-docker/). + +## Setup + +1. **Create a `docker-compose.yml` file** in a convenient location (e.g., `/opt/Hytale/`): + +```yaml +services: + hytale-server: + image: eclipse-temurin:latest + container_name: hytale-server + restart: unless-stopped + working_dir: /opt/Hytale/Server + volumes: + - /opt/Hytale/Server:/opt/Hytale/Server + ports: + - "5520:5520/udp" + - "5523:5523" # if you're using the https://github.com/nitrado/hytale-plugin-webserver plugin + command: java -jar HytaleServer.jar --assets Assets.zip --disable-sentry + stdin_open: true + tty: true +``` + +2. **Start the server**: +```bash +docker-compose up -d +``` + +3. **View server logs**: +```bash +docker-compose logs -f +``` + +4. **Stop the server**: +```bash +docker-compose down +``` + +The result will be the same as running it natively, but now encapsulated in a Docker container. + +## Configuration Notes + +### Java Version + +The configuration uses `eclipse-temurin:latest` which may not always be compatible. If you need a specific Java version, update the image tag: + +```yaml +image: eclipse-temurin:24-jre # For Java 24 +# or +image: eclipse-temurin:23-jre # For Java 23 +``` + +## Migration from Native Setup + +Since you're already running the server natively in `/opt/Hytale/Server`: + +1. Stop your native Java process +2. Create the `docker-compose.yml` file +3. Run `docker-compose up -d` +4. Your server will continue using the same files and configuration + +No data migration is needed since the Docker container mounts your existing directory directly. diff --git a/README.md b/README.md index c47b9a9..76beb9c 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ Automated setup script for Hytale dedicated servers on Debian/Ubuntu Linux systems. +After finishing this setup, it's recommended to setup Docker. See [DOCKER.md](DOCKER.md) for instructions. + ## Features - Installs Adoptium JDK (recommended by Hytale)