development/README.md
2022-02-12 12:54:38 -05:00

46 lines
2.1 KiB
Markdown

# Pterodactyl Development Environment
This repository provides a `docker-compose` based environment for handling local development of Pterodactyl.
**This is not meant for production use! This is a local development environment only.**
> This environment is the official Pterodactyl development environment, in the sense that it is what
I, [`@DaneEveritt`](https://github.com/DaneEveritt) use for working on it. I've not tested it on anything
other than macOS, and I probably haven't documented most of the important bits. Please feel free to open
PRs or Issues as necessary to improve this environment.
### Getting Started
You'll need the following things installed on your machine.
* [Docker](https://docker.io)
* [Mutagen Compose](https://github.com/mutagen-io/mutagen-compose)
* [mkcert](https://github.com/FiloSottile/mkcert)
### Setup
To begin clone this repository to your system, and then run `./setup.sh` which will configure the
additional git repositories, and setup your local certificates and host file routing.
```sh
git clone https://github.com/pterodactyl/development.git
cd development
./setup.sh
```
#### What is Created
* Traefik Container
* Panel & Wings Containers
* MySQL & Redis Containers
* Minio Container for S3 emulation
### Accessing the Environment
Once you've setup the environment, simply run `./beak up -d` to start the environment. This simply aliases
some common Docker compose commands.
Once the environment is running, `./beak app` and `./beak wings` will allow SSH access to the Panel and
Wings environments respectively. Your Panel is accessible at `https://pterodactyl.test`. You'll need to
run through the normal setup process for the Panel if you do not have a database and environment setup
already. This can be done by SSH'ing into the Panel environment and running `setup-pterodactyl`.
The code for the setup can be found in `build/panel/setup-pterodactyl`. Please note, this environment uses
Mutagen for file handling, so replace calls to `docker compse up` or `down` with `mutagen-compose up` or `down`.
All other `docker compose` commands can be used as normal.