Cryptkeeper / Minetrack

Minetrack makes it easy to keep an eye on your favorite Minecraft servers.
https://minetrack.me
MIT License
491 stars 220 forks source link
minecraft

Minetrack

Minetrack makes it easy to keep an eye on your favorite Minecraft servers. Simple and hackable, Minetrack easily runs on any hardware. Use it for monitoring, analytics, or just for fun. Check it out.

This project is not actively supported!

This project is not actively supported. Pull requests will be reviewed and merged (if accepted), but issues might not be addressed outside of fixes provided by community members. Please share any improvements or fixes you've made so everyone can benefit from them.

Features

Community Showcase

You can find a list of community hosted instances below. Want to be listed here? Add yourself in a pull request!

Updates

For updates and release notes, please read the CHANGELOG.

Migrating to Minetrack 5? See the migration guide.

Installation

  1. Node 12.4.0+ is required (you can check your version using node -v)
  2. Make sure everything is correct in config.json.
  3. Add/remove servers by editing the servers.json file
  4. Run npm install
  5. Run npm run build (this bundles assets/ into dist/)
  6. Run node main.js to boot the system (may need sudo!)

(There's also install.sh and start.sh, but they may not work for your OS.)

Database logging is disabled by default. You can enable it in config.json by setting logToDatabase to true. This requires sqlite3 drivers to be installed.

Docker

Minetrack can be built and run with Docker from this repository in several ways:

Build and deploy directly with Docker

# build image with name minetrack and tag latest
docker build . --tag minetrack:latest

# start container, delete on exit
# publish container port 8080 on host port 80
docker run --rm --publish 80:8080 minetrack:latest

The published port can be changed by modifying the parameter argument, e.g.:

Build and deploy with docker-compose

# build and start service
docker-compose up --build

# stop service and remove artifacts
docker-compose down

Nginx reverse proxy

The following configuration enables Nginx to act as reverse proxy for a Minetrack instance that is available at port 8080 on localhost:

server {
    server_name minetrack.example.net;
    listen 80;
    location / {
        proxy_pass http://localhost:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
    }
}