1
0
Fork 0
This repository has been archived on 2025-01-12. You can view files and clone it, but cannot push or open issues or pull requests.
pterodactyl-panel-docker/README.md

69 lines
3.3 KiB
Markdown
Raw Normal View History

2017-12-23 15:11:21 -08:00
# pterodactyl-panel-docker
> Docker Compose configuration for the [Pterodactyl Panel](https://github.com/Pterodactyl/Panel).
Pterodactyl is an open-source control panel used for hosting numerous game-related
services, such as Minecraft and Teamspeak servers. Setting it up, however, takes
quite a few steps according to the [documentation](https://docs.pterodactyl.io/docs).
This Docker Compose configuration is aimed at removing a majority of the steps so
that the installation process is almost as simple as cloning this build script and
running `docker-compose up`.
There are other Docker Compose setups available, including the [one](https://github.com/parkervcp/pterodactyl-panel-Dockerfile)
created by one of the project's primary developers, parkervcp. However, I opted
to create my own for a few reasons:
1. These setups detract from Docker's "one service per container" philosophy. While
it might be impossible to completely narrow down such a complex setup to one container,
there are services, such as PHP and Nginx, that can be separated.
2. I wanted to add a few alternative services for use in the Panel, such as Nginx
instead of caddy.
## Usage
The instructions are fairly self explanatory: clone the repository and launch the
stack.
```
git clone https://github.com/TehTotalPwnage/pterodactyl-panel-docker mypanel
cd mypanel
```
I'd recommend cloning the repository into a specific directory name unless you want
all your containers to be named pterodactylpaneldocker_service_number.
```
vim docker-compose.yml
```
In your favorite text editor, change the port that you want the panel binded to.
There are other settings you may need to modify that are documented below.
```
docker-compose pull
docker-compose build
docker-compose up
```
The panel should now be ready, and you can connect to it via localhost at the port
you specified in the Docker Compose file.
## API
To set the port for the HTTP server, adjust the setting under services, http, and
ports:
```
<host port number>:80
```
For the Panel, there are different environment variables that you can configure:
- `panel_url` - The FQDN that the Panel will be hosted on. Required. (https://mc.example.com)
- `timezone` - The timezone that the Panel will be hosted on. A list is available at http://php.net/manual/en/timezones.php.
- `email_driver` - The email driver for the Panel. Options are smtp, mail, mailgun, mandrill, or postmark.
- `panel_email` - The email address the panel should use. Required for all drivers.
- `email_name` - The display name emails sent should have. Required for all drivers.
- `email_user` - A username for the email server. Required for smtp, mandrill, mailgun, and postmark.
- `email_pass` - A password for the email server. Required for smtp.
- `email_domain` - The domain the driver should connect to. Required for smtp and mailgun.
- `email_port` - The port of the email server. Required for smtp.
- `admin_email` - The email address for the admin user. Required.
- `admin_first` - The first name for the admin user. Required.
- `admin_last` - The last name for the admin user. Required.
- `admin_pass` - The password for the admin user. Required.
- `admin_username` - The username for the admin user. Required.
## Caveats
- Do not stop the Docker Compose stack on the first run until supervisor announces
that the setup is complete! Errors may occur if you kill the process too early!