Go to file
2021-12-12 15:17:22 +00:00
app Fix port issue 2021-12-09 23:58:35 -05:00
docker Update compose files 2021-09-11 03:04:31 +01:00
.dockerignore Add compose file to dockerignore 2021-12-04 00:16:16 +00:00
.gitignore Add ignore files 2021-08-26 03:54:39 +01:00
.gitlab-ci.yml Replace incorrect variable in artifact name 2021-11-22 04:18:18 +00:00
DBCHANGES.md Update DBCHANGES.md 2021-08-22 10:00:39 +00:00
docker_launcher.sh Fix directory creation issue with docker run 2021-08-30 03:48:36 +01:00
docker-compose.yml.example Update compose files 2021-09-11 03:04:31 +01:00
Dockerfile Apply vulnerability patch to mitigate CVE-2021-44228 2021-12-12 15:17:22 +00:00
main.py Fix bug where terminal will not exit 2021-12-09 18:35:00 -05:00
README.md Update with more options for registry login 2021-11-06 16:02:58 +00:00
requirements.txt Merge branch 'fix/exit-code-tweak' into 'dev' 2021-12-06 05:50:48 +00:00

Crafty Controller 4.0.0-alpha.3

Python based Control Panel for your Minecraft Server

What is Crafty Controller?

Crafty Controller is a Minecraft Server Control Panel / Launcher. The purpose of Crafty Controller is to launch a Minecraft Server in the background and present a web interface for the server administrators to interact with their servers. Crafty is compatible with Docker, Linux, Windows 7, Windows 8 and Windows 10.

Documentation

Temporary documentation available on GitLab

Meta

Project Homepage - https://craftycontrol.com

Discord Server - https://discord.gg/9VJPhCE

Git Repository - https://gitlab.com/crafty-controller/crafty-web

Basic Docker Usage

To get started with docker, all you need to do is pull the image from this git repository's registry. This is done by using docker-compose or docker run(You don't need to clone the Repository and build, like in 3.x ).

If you have a config folder already from previous local installation or docker setup, the image should mount this volume, if none is present then it will populate its own config folder for you.

Using the registry image:

The provided image supports both arm64 and amd64 out the box, if you have issues though you can build it yourself.

The image is located at: registry.gitlab.com/crafty-controller/crafty-commander:latest

Branch Status
:latest pipeline status
:dev pipeline status

While the repository is still private / pre-release, Before you can pull the image you must authenticate docker with the Container Registry.

To authenticate you will need a personal access token with the minimum scope:

  • For read (pull) access, read_registry.
  • For write (push) access, write_registry.

When you have this just run:

$ docker login registry.gitlab.com -u <username> -p <token>

or

$ echo <token> | docker login registry.gitlab.com -u <username> --password-stdin

or

$ cat ~/my_password.txt | docker login registry.gitlab.com -u <username> --password-stdin

Then use one of the following methods:

docker-compose.yml

version: '3'

services:
  crafty:
    container_name: crafty_commander
    image: registry.gitlab.com/crafty-controller/crafty-commander:latest
    ports:
      - "8000:8000" # HTTP
      - "8443:8443" # HTTPS
      - "8123:8123" # DYNMAP
      - "19132:19132/udp" # BEDROCK
      - "24000-25600:24000-25600" # MC SERV PORT RANGE
    volumes:
      - ./docker/backups:/commander/backups
      - ./docker/logs:/commander/logs
      - ./docker/servers:/commander/servers
      - ./docker/config:/commander/app/config

docker run

$ docker run \
	--name crafty_commander \
	-p 8000:8000 \
	-p 8443:8443 \
	-p 8123:8123 \
	-p 19132:19132/udp \
	-p 24000-25600:24000-25600 \
	-v "/$(pwd)/docker/backups:/commander/backups" \
	-v "/$(pwd)/docker/logs:/commander/logs" \
	-v "/$(pwd)/docker/servers:/commander/servers" \
	-v "/$(pwd)/docker/config:/commander/app/config" \
	registry.gitlab.com/crafty-controller/crafty-commander:latest

Building from the cloned repository:

If you are building from docker-compose you can find the compose file in ./docker/docker-compose.yml just cd to the docker directory and docker-compose up -d

If you'd rather not use docker-compose you can use the following docker runin the directory where the Dockerfile is:

# REMEMBER, Build your image first!
$ docker build . -t crafty

$ docker run \
	--name crafty_commander \
	-p 8000:8000 \
	-p 8443:8443 \
	-p 8123:8123 \
	-p 19132:19132/udp \
	-p 24000-25600:24000-25600 \
	-v "/$(pwd)/docker/backups:/commander/backups" \
	-v "/$(pwd)/docker/logs:/commander/logs" \
	-v "/$(pwd)/docker/servers:/commander/servers" \
	-v "/$(pwd)/docker/config:/commander/app/config" \
	crafty

A fresh build will take several minutes depending on your system, but will be rapid there after.