Skip to content

Commit

Permalink
simplify readme
Browse files Browse the repository at this point in the history
  • Loading branch information
Fallen-Breath committed Jun 29, 2024
1 parent a99fbf9 commit a77c0a1
Showing 1 changed file with 2 additions and 127 deletions.
129 changes: 2 additions & 127 deletions README.md
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

0 comments on commit a77c0a1

Please sign in to comment.