-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
a99fbf9
commit a77c0a1
Showing
1 changed file
with
2 additions
and
127 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,132 +1,7 @@ | ||
> [!CAUTION] | ||
> Still in early stages of development, expect forced pushes and breaking changes! | ||
# MCDReforged-Docker | ||
|
||
Official docker images for [MCDReforged](https://github.com/MCDReforged/MCDReforged) | ||
|
||
## Usages | ||
|
||
### Quick start | ||
|
||
Quick test if the docker and image works | ||
|
||
```bash | ||
docker run -it --rm mcdreforged/mcdreforged | ||
``` | ||
|
||
### Persist your server data | ||
|
||
For a production usage, you need to persist the working directory: `/mcdr`, | ||
where all MCDR related files and the server folder is in | ||
|
||
```bash | ||
docker run --name my_mcdr -v /path/to/my/server:/mcdr mcdreforged/mcdreforged | ||
``` | ||
|
||
### Python package installation | ||
|
||
If you want to installed custom python packages, you can: | ||
|
||
1. Mount path `/root/.local/lib/python${PYTHON_VERSION}/site-packages/` to a volume or a local directory | ||
- `PYTHON_VERSION` is the major + minor version of the python interpreter, e.g. `3.11` | ||
- This mounting step is optional. Installing without the directory mounted results in the loss of the new packages when the container is removed | ||
2. Use `pip3` to install whatever packages you want like usual. The `--user` argument is set automatically globally | ||
|
||
```bash | ||
$ docker exec -it my_mcdr pip3 install requests | ||
``` | ||
|
||
## Images | ||
|
||
### Base | ||
|
||
[![Docker](https://img.shields.io/docker/v/mcdreforged/mcdreforged/latest)](https://hub.docker.com/r/mcdreforged/mcdreforged) | ||
|
||
Built at https://github.com/MCDReforged/MCDReforged | ||
|
||
Default Python version: 3.11 | ||
|
||
```bash | ||
mcdreforged/mcdreforged:latest | ||
mcdreforged/mcdreforged:latest-slim | ||
mcdreforged/mcdreforged:2.13.0 | ||
mcdreforged/mcdreforged:2.13.0-slim | ||
mcdreforged/mcdreforged:2.13.0-py3.11 | ||
mcdreforged/mcdreforged:2.13.0-py3.11-slim | ||
``` | ||
|
||
### Extra | ||
|
||
Image with extra python packages | ||
|
||
Theses extra packages are collected from the [Plugin Catalogue](https://github.com/MCDReforged/PluginCatalogue), | ||
covering almost all required packages of the plugins in the catalogue | ||
|
||
See [requirements_extra.txt](src/requirements_extra.txt) for the full extra package list | ||
|
||
```bash | ||
mcdreforged/mcdreforged-extra:latest | ||
mcdreforged/mcdreforged-extra:latest-slim | ||
mcdreforged/mcdreforged-extra:2.13.0 | ||
mcdreforged/mcdreforged-extra:2.13.0-slim | ||
mcdreforged/mcdreforged-extra:2.13.0-py3.11 | ||
mcdreforged/mcdreforged-extra:2.13.0-py3.11-slim | ||
``` | ||
|
||
> [!NOTE] | ||
> To ensure the feasibility of python package installation during extra image build, | ||
> the actual installed version of those python package in the extra images might not be exactly what the plugin wants | ||
> [!TIP] | ||
> For production environments, it's suggested to maintain your own set of python package installation instead of simply use the extra images | ||
> | ||
> It's for ensuring that all of your plugins run within the python package environment they claim to be compatible with | ||
> | ||
> You can manually install what your plugins need and mount the `site-packages` directory inside the container to persistent storage. | ||
> The `site-packages` mount can even be shared across multiple containers as long as their python versions are the same | ||
### OpenJDK | ||
|
||
Images with OpenJDK installed | ||
|
||
Supported OpenJDK distributions: | ||
|
||
- [corretoo](https://aws.amazon.com/corretto/) | ||
- [temurin](https://adoptium.net/temurin/) | ||
- [zulu](https://www.azul.com/downloads/?package=jdk#zulu) | ||
|
||
Supported java version: 8, 11, 17, 21 | ||
|
||
Default JDK version: 21 | ||
|
||
`-extra` suffix means with [extra](#extra) packages | ||
|
||
```bash | ||
mcdreforged/mcdreforged-temurin:latest | ||
mcdreforged/mcdreforged-temurin:latest-extra | ||
mcdreforged/mcdreforged-temurin:latest-jdk17 | ||
mcdreforged/mcdreforged-temurin:latest-jdk17-extra | ||
mcdreforged/mcdreforged-temurin:latest-slim | ||
mcdreforged/mcdreforged-temurin:latest-slim-extra | ||
mcdreforged/mcdreforged-temurin:latest-slim-jdk17 | ||
mcdreforged/mcdreforged-temurin:latest-slim-jdk17-extra | ||
|
||
mcdreforged/mcdreforged-temurin:2.13.0 | ||
mcdreforged/mcdreforged-temurin:2.13.0-extra | ||
mcdreforged/mcdreforged-temurin:2.13.0-jdk17 | ||
mcdreforged/mcdreforged-temurin:2.13.0-jdk17-extra | ||
mcdreforged/mcdreforged-temurin:2.13.0-slim | ||
mcdreforged/mcdreforged-temurin:2.13.0-slim-extra | ||
mcdreforged/mcdreforged-temurin:2.13.0-slim-jdk17 | ||
mcdreforged/mcdreforged-temurin:2.13.0-slim-jdk17-extra | ||
Official docker images for [MCDReforged](https://github.com/MCDReforged/MCDReforged) | ||
|
||
mcdreforged/mcdreforged-temurin:2.13.0-py3.11 | ||
mcdreforged/mcdreforged-temurin:2.13.0-py3.11-extra | ||
mcdreforged/mcdreforged-temurin:2.13.0-py3.11-jdk17 | ||
mcdreforged/mcdreforged-temurin:2.13.0-py3.11-jdk17-extra | ||
mcdreforged/mcdreforged-temurin:2.13.0-py3.11-slim | ||
mcdreforged/mcdreforged-temurin:2.13.0-py3.11-slim-extra | ||
mcdreforged/mcdreforged-temurin:2.13.0-py3.11-slim-jdk17 | ||
mcdreforged/mcdreforged-temurin:2.13.0-py3.11-slim-jdk17-extra | ||
``` | ||
Documentation: https://docs.mcdreforged.com/en/latest/docker.html |