Minecraft dockerized server setup
  • JavaScript 89.1%
  • Dockerfile 10.9%
Find a file
2025-05-12 09:54:38 +02:00
scripts Cleanup 2024-03-04 23:59:18 +01:00
.gitignore Cleanup 2024-03-04 23:40:27 +01:00
constants.js Include world in the DEFAULT_FOLDERS definition 2024-03-04 23:55:55 +01:00
docker-compose.yml basic config 2023-02-16 23:49:37 +01:00
Dockerfile Add node script to build from mods.json and runtime.json 2023-06-08 16:49:38 +02:00
package.json Rename setup script to initialSetup to make it clearer 2024-03-04 23:51:56 +01:00
README.md Update README.md 2025-05-12 09:54:38 +02:00

Harbour

A simple docker setup for Minecraft servers

Harbour is designed to support not only the official runtime, but also alternative ones such as Forge and Fabric, making it flexible for modded server setups.

Installing

To set up Harbour from scratch, run the following command:

npm run initial-setup

If you're using pnpm, the equivalent command is:

pnpm run initial-setup

This will create the necessary directories for your base installation and regenerate configuration files like mods.json and runtime.json.

Running Harbour

To run Harbour on a docker environment, please run the following command:

docker-compose up --build -d

Configuration files

runtime.json

This folder contains the URL from which the server should download the executable .jar file. The URL must point to a valid .jar file and be accessible via a standard HTTP request.

For the vanilla version, you can obtain this URL from Minecraft's official server download page. If you're using Fabric, use the URL from Fabrics server download page.

mods.json

This section lists all the mods. Harbour automatically downloads each one from its specified source and places it in the mods folder—no manual action required.

For a mod entry to work correctly, it should include the following properties:


    {
        "name": "Lithium", // Name of the mod
        "version": "0.11.2", // Version of the mod
        "gameVersion": "1.20.1", // Version of the game
        "url": "https://cdn.modrinth.com/data/gvQqBUqZ/versions/ZSNsJrPI/lithium-fabric-mc1.20.1-0.11.2.jar" // URL containing the .jar file
    }

Most of these properties are optional and serve primarily as additional information. As long as you provide a valid URL, the other fields can be left empty. However, including the three additional fields significantly improves the maintenance experience during upgrades.

If no mods are needed, simply use an empty array—thats all you need.