CLI tool to enhance and simplify containerization of Minecraft servers
Project description
MinecraftDockerCLI
Set up your Minecraft network blazingly fast
MinecraftDockerCLI is a python CLI application to allow minecraft server admins to set up in a fast and easy way a server or a network using docker containers. MinecraftDockerCLI is orientated towards minecraft server admins that administrate networks, since a single server cannot fully use the advantages of Docker containers. Docker containers make minecraft networks easier and cleaner because of how docker containers work and intercomunicate on the same machine.
Installation
Prerequisites:
- Docker Engine (Docker Desktop on Windows) running and configured.
- Docker Compose (bundled with modern Docker Desktop installations).
- Python 3.13+ and
pip.
Recommended Installation:
# Create a Virtual Environment
python3 -m venv .venv
.\.venv\Scripts\Activate.ps1
# Install the python package
pip install MinecraftDockerCLI
Clone repo:
Extra requirement: Poetry.
# Clone the repository
git clone https://github.com/Dtar380/Minecraft-Dockerfile-CLI.git
cd Minecraft-Dockerfile-CLI
poetry install
[!NOTE] When running the program you would need to be using the poetry environment and run it like
poetry run MinecraftDockerCLI
Usage
To use this app you simply need to type MinecraftDockerCLI in your terminal followed by the command you want to execute and the options you want to use.
[!WARNING] To ensure the app runs correctly, make sure the ENV you installed the app to is activated and that you are on the folder of your server project.
Builder commands
Create:
- Help: Create all files for the containerization.
- Description: This command will ask the user with prompts everything to build a docker-compose.yml and .envs for all the services the user will run. Running this command on a existing project will overwrite the files.
- Arguments:
- --network: Flag for creating network insteat of single server (required)
Update:
- Help: Update the contents of the containers.
- Description: This command will either delete a service or add a service with the same method as Create.
- Arguments:
- --add: Flag to state the addition of a service.
- --remove: Flag to state the removal of a service.
- --service: Parameter to specify the name of the service.
Build:
- Help: Build the files for the containerization.
- Description: This command will build the files based on
data.jsonin case they were not built when running create.
[!NOTE] None of the Builder commands will build nor start the containers.
Manager commands
Backup:
- Help: Create a backup of the containers.
- Description: This command will create a backup of every service in a tar file with the format
{service_name}_{date}.tar.gzinside a.backupdirectory.
Up:
- Help: Set up the containers and start them.
- Arguments:
- --detached: Flat to run the containers in detached mode.
Down:
- Help: Stop the containers and delete them.
- Arguments:
- --rm-volumes: Flag to remove volumes.
[!WARNIGN] Running Up will overwrite the inside volumes of the container with host ones and down with --rm-files will remove the volumes inside the containers, make sure to create a backup and replace the files on host with the backups every time.
Start:
- Help: Start the containers.
- Description: This command will
Stop:
- Help: Stop the containers.
- Description: This command will
Tips & Troubleshooting
- Ensure Docker Desktop is running and you can run
docker pswithout errors before invoking the CLI. - On Windows, run PowerShell as Administrator or ensure your user has permissions for Docker.
- If
data.jsonis missing, runbuilder createfirst to scaffold services.
Kown Issues
There is no known issues on the project, you can submit yours to issues.
License
This project is distributed under the MIT license. See the LICENSE.
Sponsorship
You can support me and the project with a donation to my Ko-Fi.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file minecraftdockercli-0.1.2.tar.gz.
File metadata
- Download URL: minecraftdockercli-0.1.2.tar.gz
- Upload date:
- Size: 18.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b160c90a13e655c793058498ecab3b80a32fcb88ec748a03909f6a9b8fe67d21
|
|
| MD5 |
f9fa3cccda6ce87d554da3634be03ada
|
|
| BLAKE2b-256 |
936846e0f1e143893941744fc58f6091f14d61b9f6ce70b4f1e54feb92ffd40b
|
Provenance
The following attestation bundles were made for minecraftdockercli-0.1.2.tar.gz:
Publisher:
publisher.yml on Dtar380/MinecraftDockerCLI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
minecraftdockercli-0.1.2.tar.gz -
Subject digest:
b160c90a13e655c793058498ecab3b80a32fcb88ec748a03909f6a9b8fe67d21 - Sigstore transparency entry: 702068261
- Sigstore integration time:
-
Permalink:
Dtar380/MinecraftDockerCLI@0fb7b0d21b07c0bbbede5081e9fce21aa7cd5492 -
Branch / Tag:
refs/tags/0.1.2 - Owner: https://github.com/Dtar380
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publisher.yml@0fb7b0d21b07c0bbbede5081e9fce21aa7cd5492 -
Trigger Event:
release
-
Statement type:
File details
Details for the file minecraftdockercli-0.1.2-py3-none-any.whl.
File metadata
- Download URL: minecraftdockercli-0.1.2-py3-none-any.whl
- Upload date:
- Size: 20.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d35af6325331547db450bcda568a4e52aeefa21f74681e97aaea44d728d6c00b
|
|
| MD5 |
38fd7cc3075373b9315059ce7ec0403e
|
|
| BLAKE2b-256 |
12dacbb81c1d79f9b8a6cf4a8ca63ec723df004c045997265ef72e9a1a435a4c
|
Provenance
The following attestation bundles were made for minecraftdockercli-0.1.2-py3-none-any.whl:
Publisher:
publisher.yml on Dtar380/MinecraftDockerCLI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
minecraftdockercli-0.1.2-py3-none-any.whl -
Subject digest:
d35af6325331547db450bcda568a4e52aeefa21f74681e97aaea44d728d6c00b - Sigstore transparency entry: 702068263
- Sigstore integration time:
-
Permalink:
Dtar380/MinecraftDockerCLI@0fb7b0d21b07c0bbbede5081e9fce21aa7cd5492 -
Branch / Tag:
refs/tags/0.1.2 - Owner: https://github.com/Dtar380
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publisher.yml@0fb7b0d21b07c0bbbede5081e9fce21aa7cd5492 -
Trigger Event:
release
-
Statement type: