Welcome to the PufferPanel community forums! Please visit our discord for support: https://discord.gg/v8dz49e

PufferPannel and pufferd inside a Docker Container

  • Hey Guys,

    I have made a Docker Image to quickly set up a Minecraft Server.
    Dockerhub site is here: https://hub.docker.com/r/killergoldfisch/pufferpanel/
    And the GitHub repo is here: https://github.com/KillerGoldFisch/PufferPanel

    If you want to use it, just enter the Command:

    docker run -d \
        -p 80:80 \
        -p 25565:25565 \
        -p 5657:5657 \
        -e VIRTUAL_HOST=<your-host> \
        --restart always \
        --name pufferpanel killergoldfisch/pufferpanel

    The default User is "root@localhost.net" with the Password "toor". Please change the Password as soon as possible!
    If you want to pass a custom User to the Container, you can use the ADMIN_NAME, ADMIN_PW and ADMIN_EMAIL Variable.

    I am a Docker Noob and i know there are are Docker-Experts in this Community, so i am curious what kind of feedback i will get... :D

    I hope this is usefull.


  • That's very cool!

    Only a few things I noticed while glancing at it that'd need some work

    https://github.com/KillerGoldFisch/PufferPanel/blob/master/scripts/start#L14 is just probably best to not do
    https://github.com/KillerGoldFisch/PufferPanel/blob/master/scripts/start#L12-L14 is probably not needed as a whole actually, we do those steps during the install.

    You should probably just use systemctl start for all of the service calls you do.

    And pufferd can be started that way too (systemctl start pufferd).

    https://github.com/KillerGoldFisch/PufferPanel/blob/master/scripts/install.exp#L16 the send there should either be "Y" or "N", not "Y/n"

  • Thanks for the reply,

    The chmod is a bit embarrassing... :D I can't believe I left it in.

    It looks like; a docker Container has no access to the systemd. I tried it use systemctl, but it failed with the error Failed to connect to bus: No such file or directory. So I continued using Upstart, even it is deprecated.

    Do you have any idea how to avoid this?

    I start pufferd directly to prevent it running in the background, so the stdio is accessible through docker.

    Do you know any more elegant way to start it and get the stdio?


  • This is a good idea. However, it seems there needs to have a bit more flexibility, such as allowing to use a separate MySQL/MariaDB server (whether remote or in a separate container in the same stack), which would be trivial. I am currently looking at accomplishing this.

    There is also the issue of exposing a user data folder that can survive future upgrades.

    @LordRalex, I realize this thread is quite old, but it should be noted that docker containers are by practice not expected to run under systemd, because it breaks process isolation and security. Usually, something like supervisor is used, which is what I am currently trying to use.

Log in to reply