From e11860f9a5363fb404874d1b104cb7d9b29243f6 Mon Sep 17 00:00:00 2001 From: WasinUddy Date: Sat, 18 Jan 2025 23:47:44 +0700 Subject: [PATCH] feat(Changelog): 2.1.0 --- CHANGELOG.md | 5 ++++ README.md | 82 ++++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 65 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a040e1c..b7a23a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## [2.1.0] - 2025-01-18 +### Added +- Added platform specifications in the Dockerfile -- `linux/amd64` as suggested by [pull request #14](https://github.com/WasinUddy/Montainer/pull/14) +- Added Documentation for usage of Montainer on ARM64 machines + ## [2.0.6] - 2024-11-20 ### Fixed - Fixed unable to backup to AWS S3 diff --git a/README.md b/README.md index fb3bfef..eeb7c16 100644 --- a/README.md +++ b/README.md @@ -33,28 +33,66 @@ Montainer (Minecraft + Container) provides a self-contained Minecraft Bedrock se - [ ] Implement Command autofill in the web UI console. - [ ] Add Log export functionality to integrate with log aggregation services. -## Usage - -1. **Deploy Montainer with Docker (recommended):** - - ```yaml - services: - montainer: - image: ghcr.io/wasinuddy/montainer-stable:latest # 'montainer-preview' for Snapshot server - ports: - - "8000:8000" # Web UI console on port 8000 - - "19132:19132/udp" # Minecraft Bedrock server port - volumes: - - ./worlds:/app/instance/worlds # Mount for world data - - ./configs:/app/configs # Mount for server configurations - restart: unless-stopped - ``` - -2. **Access the web UI console**: - Visit `http://localhost:8000` in your browser. Use the Start/Stop button to control the server directly from the console. - -3. **Kubernetes Deployment** 🚢 - Montainer can also be deployed on Kubernetes. Ensure your Ingress Controller supports WebSocket, as both HTTP and WebSocket are used for the web UI console. +# Montainer Deployment Guide + +## Docker Deployment (Recommended) + +### Platform-Specific Instructions + +#### For Native AMD64 and Apple Silicon +```yaml +services: + montainer: + image: ghcr.io/wasinuddy/montainer-stable:latest # Use 'montainer-preview' for Snapshot server + ports: + - "8000:8000" # Web UI console + - "19132:19132/udp" # Minecraft Bedrock server + volumes: + - ./worlds:/app/instance/worlds # World data + - ./configs:/app/configs # Server configurations + restart: unless-stopped +``` + +#### For ARM64 Machines (tested on Ampere Altra A1) +> **Note**: The official Mojang binary does not support ARM64 architecture. However, you can run the Docker image on ARM64 machines using Linux Kernel **binfmt** for architecture emulation. which may lead to performance issues. + +```yaml +services: + binfmt: + image: tonistiigi/binfmt + privileged: true + command: --install all + restart: "no" + + montainer: + image: ghcr.io/wasinuddy/montainer-stable:latest # Use 'montainer-preview' for Snapshot server + platform: linux/amd64 # Explicitly specify platform + ports: + - "8000:8000" # Web UI console + - "19132:19132/udp" # Minecraft Bedrock server + volumes: + - ./worlds:/app/instance/worlds # World data + - ./configs:/app/configs # Server configurations + restart: unless-stopped + depends_on: + binfmt: + condition: service_completed_successfully +``` + + + +## Accessing the Server + +1. Open your web browser and navigate to `http://localhost:8000` +2. Use the Web UI console to start/stop the server and manage settings + +## Kubernetes Deployment 🚢 + +Montainer supports Kubernetes deployment with the following requirements: +- Your Ingress Controller must support WebSocket connections +- Both HTTP and WebSocket protocols are used for the web UI console + +> For detailed Kubernetes deployment instructions, please refer to our Kubernetes documentation. ## Environment Variables