Skip to content

Development environment setup for Reviactyl. This is used internally by our development team to ensure getting Pterodactyl running in a development environment is a painless as possible.

License

Notifications You must be signed in to change notification settings

reviactyl/development

 
 

Repository files navigation

Logo Image

Reviactyl Development

This repository provides a docker-compose based environment for handling local development of Reviactyl.

This is not meant for production use! This is a local development environment only.

This environment was forked from Pterodactyl's Development Repository, which was made by @DaneEveritt and is used by them for Pterodactyl Development. This should work on both macOS and most Linux Machines. For Windows, you are on your own.

Getting Started

You'll need the following dependencies installed on your machine.

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. If you do not have permission to write to the original repositories and want to contribute, please edit setup.sh to clone your forked repository instead to be able to commit your changes and submit a Pull Request in the future.

git clone https://github.com/reviactyl/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 build and then ./beak up -d to start the environment. beak aliases some common Docker compose commands, but everything else will pass through to docker compose.

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://reviactyl.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-reviactyl, followed by configuring your .env file with either php artisan commands or editing the .env file manually to connect your database and redis services.

The code for the setup can be found in build/panel/setup-reviactyl. Ensure you run yarn dev before accessing the Panel. You should always run yarn inside the container.

Running Wings

You'll need to create a location and a node in the Panel instance before you can configure Wings. Set up the node as being "Behind Proxy" and set the Daemon Port value to 443. Copy over the resulting config.yml file to /home/root/wings/config.yml on the Wings dev container.

When you write that file, update the port value in the file to be 8080 since traffic is being proxied for the environment with Traefik. Make sure that you use wings.reviactyl.test as the FQDN, otherwise you could run into issues.

You should then be able to run make debug which will start the Wings daemon in debug mode.

Be aware that future changes to the Node configuration could update the file.

About

Development environment setup for Reviactyl. This is used internally by our development team to ensure getting Pterodactyl running in a development environment is a painless as possible.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

 
 
 

Languages

  • Shell 66.2%
  • Dockerfile 33.8%