Sign inSign up

gethec/pterodactyl-panel

By gethec

•Updated over 2 years ago

A dockerized version of the Panel component of Pterodactyl

Image
1

5.0K

gethec/pterodactyl-panel repository overview

⁠Pterodactyl-Panel

⁠Disclaimer

As with anything else, exposing your system to the Internet incurs risks! This container does its best to be as secure as possible, but makes no guarantees to being completely impenetrable. Use at your own risk, and feel free to suggest changes that can further increase security.

⁠About

The Pterodactyl project is an impressive one to me, but I wanted a way to make use of it in Unraid without installing it to the system. Thus, this set of containers was born. Panel uses uses Alpine's official image to keep the footprint small.

⁠Configuration

The configuration of the Panel container is much less complicated than the Wings container. Most of the configuration occurs through environment variables. Simply define them to enable that component.

⁠Variables

This container uses vishnubob's wait-for-it⁠ script to allow you to have startup wait for the SQL and Redis servers to become available before continuing. Simply set the HOST values to the correct hostname or IP address, and specific a port number, if you are not using the services' default option. You can also set TESTTIME to change the wait period from the default 30 seconds to whatever you desire.

It's also worth noting that, since this container is developed for use in Unraid, which has several excellent reverse proxy options, not much attention has been given to making the HTTPS option work. It should work in theory, but please submit a bug report if you encounter any issues. To enable, set HTTPS to "true", then map the location of your fullchain.pem and privkey.pem files to /le-ssl.

VariableDefaultExample
DBHOSTNULL-e DBHOST="MariaDB"
DBPORT3306-e DBPORT=3306
REDISHOSTNULL-e REDISHOST="Redis"
REDISPORT6379-e REDISPORT=6379
TESTTIME30-e TESTTIME=30
HTTPSNULL-e HTTPS="true"
⁠Volumes
VolumeNoteExample
/configRequired for persistence-v "/mnt/user/appdata/panel":"/config"
/le-sslExpected location for SSL certs, if HTTPS is enabled-v "/letsencrypt/cert/directory":"/le-ssl":ro
⁠Ports
PortNoteExample
80Default port if HTTPS is disabled. Redirects to 443 otherwise-p 80:80
443Web interface if HTTPS is enabled- p 443:443

⁠Setup

IMPORTANT: While this container automates as much as possible, manual setup of the environment is still required to finish installation. For instructions, complete the Environmental Configuration, Database Setup and Add The First User sections in Pterodactyl's "Getting Started" guide⁠.

Example run command:

docker run \
    --name="Panel" \
    -e DBHOST="MariaDB" \
    -e DBPORT=3306 \
    -e REDISHOST="Redis" \
    -e REDISPORT=6379 \
    -e TESTTIME=30 \
    -e HTTPS=false \
    -v "/mnt/user/appdata/panel":"/config" \
    -v "/mnt/user/appdata/swag/etc/letsencrypt/live/<example.com>":"/le-ssl":ro \
    -p 80:80 \
    gethec/pterodactyl-panel

Tag summary

Content type

Image

Digest

sha256:9b00a44c6…

Size

35 MB

Last updated

over 2 years ago

docker pull gethec/pterodactyl-panel