Go to file
xithical 2e549cea60 Merge branch 'backup-fixes' into 'dev'
Rework of files handling and added exclusions selection for backups.

See merge request crafty-controller/crafty-commander!174
2022-03-01 01:02:30 +00:00
app Rework of files handling and added exclusions selection for backups. 2022-03-01 01:02:30 +00:00
config_examples Create pylintrc, code review pipeline & correct codebase errors 2022-01-26 01:45:30 +00:00
docker Add server imports mount 2022-02-27 01:57:54 +00:00
.dockerignore Add compose file to dockerignore 2021-12-04 00:16:16 +00:00
.editorconfig EditorConfig file!! 2022-02-08 02:07:40 +02:00
.gitignore Add ignore files 2021-08-26 03:54:39 +01:00
.gitlab-ci.yml Create pylintrc, code review pipeline & correct codebase errors 2022-01-26 01:45:30 +00:00
.pylintrc Add migration file to pylint ignore for now 2022-01-27 21:56:39 -05: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 Add server imports mount 2022-02-27 01:57:54 +00:00
Dockerfile Rebase from Alpine back to ubuntu 2022-02-27 01:54:07 +00:00
main.py Fix revert. Somehow migrations file was destroyed 2022-01-27 22:06:44 -05:00
README.md Update with more options for registry login 2021-11-06 16:02:58 +00:00
requirements.txt Bump bleach to 4.1 2022-01-22 20:11:08 +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.