Sign inSign up

enayet123/mineos

By enayet123

•Updated over 1 year ago

Simplified Minecraft server hosting (JDK 21)

Image
0

2.6K

enayet123/mineos repository overview

⁠MineOS

MineOS⁠ is a specialized server management platform designed for hosting Minecraft servers, offering an intuitive web-based interface to simplify tasks such as creating, starting, stopping, and backing up servers. It supports multiple Minecraft server types, including Vanilla, Spigot, Paper, Forge, and others, and provides robust tools for scheduling, monitoring, and log management. Built to run on Linux-based systems.

⁠Installation/Setup

⁠Docker

Note: This docker image is an updated version of hexparrot/mineos⁠ modified to use JDK 21 as required since the 24w14a snapshot⁠ released in April.

Using docker compose (Recommended):

services:
  mineos:
    container_name: mineos
    image: enayet123/mineos:latest
    restart: unless-stopped
    stop_grace_period: 5m
    ports:
      - '8443:8443'
      - 25565-25570:25565-25570/tcp
      - 25565-25570:25565-25570/udp
    environment:
      - SERVER_PORT=8443
      - USE_HTTPS="false"
      - USER_NAME=username
      - USER_PASSWORD=password
      - USER_UID=1000
    volumes:
      - /path/to/folder/:/var/games/minecraft/

Using docker CLI:

docker run -d \
  --name mineos \
  --restart unless-stopped \
  --stop-timeout 300 \
  -p 8443:8443 \
  -p 25565-25570:25565-25570/tcp \
  -p 25565-25570:25565-25570/udp \
  -e SERVER_PORT=8443 \
  -e USE_HTTPS="false" \
  -e USER_NAME=username \
  -e USER_PASSWORD=password \
  -e USER_UID=1000 \
  -v /path/to/folder/:/var/games/minecraft/ \
  enayet123/mineos:latest
⁠Host machine

Installing directly onto the host machine:

curl -sL https://deb.nodesource.com/setup_8.x | bash -
apt-get update
apt-get install -y nodejs git rdiff-backup screen build-essential openjdk-21-jdk
mkdir -p /usr/games
cd /usr/games
git clone https://github.com/hexparrot/mineos-node.git minecraft
cd minecraft
chmod +x generate-sslcert.sh
./generate-sslcert.sh
cp mineos.conf /etc/mineos.conf
npm install
VariableDescription
SERVER_PORTThe port number used by the MineOS web interface.
USE_HTTPSDetermines whether the web interface uses HTTPS ("true") or HTTP ("false").
USER_NAMEThe username for logging into the MineOS web interface.
USER_PASSWORDThe password for the MineOS web interface login.
USER_UIDThe user ID (UID) assigned to the MineOS user inside the container, matching your system's.

⁠First run

  1. Access the WebUI for the service by navigating to <host-ip>:8443/admin/index.html.

Note: If you are running MineOS on the same machine you can use localhost:8443.

  1. Login using the credentials set in USER_NAME and USER_PASSWORD or using your OS credentials for a host machine setup.
  2. Select "Profiles" and download a desired version.
  3. Select "Create New Server" and fill in the details, provide at least the "Server Name".
  4. Ensure the "Currently Selected Server" at the top is your deisred server and navigate to the "Server Status" page.
  5. Select a profile using the dropdown and select a runnable jar using the dropdown.
  6. Press "Start" and accept the EULA if prompted
  7. Navigate to "logs/latest.log" to view log output

⁠FAQ's

  • How do I create another user for MineOS? MineOS uses the hosts credentials so you would need to create a new user using adduser <username> however if this is done in the docker container the user will be lost during a container restart. To keep the new user you would need to ensure the /etc/passwd file persists during a restart by adding it to the volumes section in your docker compose or -v in your docker run command.

It is also possible to use entrypoint in your docker compose file but this may introduce other issues.

⁠Disclaimer

This application is provided "as is" without any warranties or guarantees of any kind, either express or implied. The use of this application is at your own risk. The developers assume no liability for any damages, losses, or issues, including but not limited to data loss, system malfunctions, or financial impacts, that may arise from the use or misuse of this application.

By using this application, you agree to take full responsibility for any outcomes and understand that the developers are not liable for any consequences resulting from its use. Always test the application in a controlled environment before deploying it in production.

Tag summary

Content type

Image

Digest

sha256:b168ddbf5…

Size

514 MB

Last updated

over 1 year ago

docker pull enayet123/mineos