mirror of
https://github.com/pterodactyl/documentation.git
synced 2025-12-10 10:44:43 -06:00
commit
b593dbc3eb
@ -118,6 +118,14 @@ module.exports = {
|
||||
'/community/tutorials/artisan.md',
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Customization',
|
||||
collapsable: false,
|
||||
children: [
|
||||
'/community/customization/panel.md',
|
||||
'/community/customization/wings.md',
|
||||
],
|
||||
},
|
||||
],
|
||||
'/': [
|
||||
{
|
||||
@ -153,7 +161,8 @@ module.exports = {
|
||||
children: [
|
||||
'/getting_started',
|
||||
'/webserver_configuration',
|
||||
'/upgrading'
|
||||
'/upgrading',
|
||||
'/additional_configuration'
|
||||
]
|
||||
}
|
||||
]
|
||||
@ -201,7 +210,13 @@ module.exports = {
|
||||
children: [
|
||||
'/tutorials/mysql_setup.md',
|
||||
'/tutorials/creating_ssl_certificates.md',
|
||||
'/community/about.md',
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Guides',
|
||||
collapsable: false,
|
||||
children: [
|
||||
'/guides/mounts.md',
|
||||
],
|
||||
},
|
||||
{
|
||||
|
||||
43
community/customization/panel.md
Normal file
43
community/customization/panel.md
Normal file
@ -0,0 +1,43 @@
|
||||
# Building Panel Assets
|
||||
|
||||
:::warning
|
||||
Do **not** run the following steps on your production nodes.
|
||||
:::
|
||||
|
||||
Instructions on how to build the panel are also available in the [BUILDING.md](https://github.com/pterodactyl/panel/blob/develop/BUILDING.md) file.
|
||||
|
||||
The frontend of the Panel is built with React. Any changes to the source files require to recompile it.
|
||||
This also applies to style sheets. The following sections explain how to do so.
|
||||
|
||||
## Install Dependencies
|
||||
|
||||
The following commands will install the necessary dependencies for building the Panel assets.
|
||||
|
||||
The build tools require NodeJS, yarn is used as the package manager.
|
||||
|
||||
```bash
|
||||
# Ubuntu/Debian
|
||||
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
|
||||
apt install -y nodejs yarn
|
||||
|
||||
# CentOS
|
||||
curl -sL https://rpm.nodesource.com/setup_12.x | sudo -E bash -
|
||||
sudo yum install -y nodejs yarn # CentOS 7
|
||||
sudo dnf install -y nodejs yarn # CentOS 8
|
||||
```
|
||||
|
||||
Install required javascript packages.
|
||||
|
||||
```bash
|
||||
cd /var/www/pterodactyl
|
||||
yarn # Installs panel build dependencies
|
||||
```
|
||||
|
||||
## Build Panel Assets
|
||||
|
||||
The following command will rebuild the Panel frontend.
|
||||
|
||||
```bash
|
||||
cd /var/www/pterodactyl
|
||||
yarn build:production # Build panel
|
||||
```
|
||||
66
community/customization/wings.md
Normal file
66
community/customization/wings.md
Normal file
@ -0,0 +1,66 @@
|
||||
# Building Wings
|
||||
|
||||
:::warning
|
||||
Do **not** run the following steps on your production nodes.
|
||||
:::
|
||||
|
||||
Wings is written in Go. This makes it very easy to modify and compile it on your own, and distribute your own binaries.
|
||||
This guide will cover the steps necessary to build it yourself.
|
||||
|
||||
It will not, however, explain where to look for certain aspects of Wings and which changes are necessary to achieve specific results. Knowledge of the Go language is required if you want to modify it.
|
||||
|
||||
Building Go programs is very easy, and the same also applies to Wings. Go is cross-platform, but Wings only supports Linux at the moment. The easiest way to compile it for Linux is to run the commands on a Linux machine.
|
||||
|
||||
## Build Requirements
|
||||
|
||||
An up to date version of Go is required to compile Wings. The minimum version can be found at the top of the [go.mod](https://github.com/pterodactyl/wings/blob/develop/go.mod) file. See the [official instructions](https://golang.org/doc/install) for help with installing Go.
|
||||
|
||||
## Building
|
||||
|
||||
Execute the following command in your local clone of the repository to compile Wings into a binary.
|
||||
|
||||
```bash
|
||||
go build
|
||||
```
|
||||
|
||||
You should now have a `wings` binary file in your wings directory.
|
||||
|
||||
## Install the new binary
|
||||
|
||||
:::tip Root required
|
||||
Some the following commands require root permissions. Prepend them with `sudo` if you are not logged in as root.
|
||||
:::
|
||||
|
||||
1. Backup the current installation of wings
|
||||
|
||||
```bash
|
||||
mv /usr/local/bin/wings /usr/local/bin/wings-backup
|
||||
```
|
||||
|
||||
2. Place the new binary in `/usr/local/bin`
|
||||
|
||||
```
|
||||
cp ./wings /usr/local/bin
|
||||
```
|
||||
|
||||
3. Restart wings
|
||||
|
||||
```
|
||||
systemctl restart wings
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
If the wings service does not start properly, you can try to start Wings in a console window.
|
||||
|
||||
```
|
||||
wings --debug
|
||||
```
|
||||
|
||||
Remember to stop the system service before, and re-enable it afterwards.
|
||||
|
||||
```
|
||||
systemctl stop wings
|
||||
|
||||
systemctl start wings
|
||||
```
|
||||
52
guides/mounts.md
Normal file
52
guides/mounts.md
Normal file
@ -0,0 +1,52 @@
|
||||
# Using Mounts
|
||||
|
||||
Mounts can be used to make directories on a node available to servers running on it.
|
||||
|
||||
## Wings Configuration
|
||||
|
||||
For security reasons it is not possible to mount direcotries on a node by default. Directories that should be mountable have to be specified explicitly in the Wings configuration.
|
||||
|
||||
In the Wings configuration file (`/etc/pterodactyl/config.yml`) the `allowed_mounts` field is used to list mountable directories. The listed directories and all their subdirectories can be mounted.
|
||||
|
||||
```yml
|
||||
allowed_mounts:
|
||||
- /example
|
||||
```
|
||||
|
||||
## Panel Configuration
|
||||
|
||||
You have to configure mounts in admin panel in order to use them with your servers. They consist of a source pad on the node and a target path where it will be mounted in the container.
|
||||
|
||||
:::warning Path in the container
|
||||
Mounts can not be mounted at `/home/container` or any subdirectory of it, as mounts cannot overlap and the server specific files are mounted at that location.
|
||||
:::
|
||||
|
||||
### Creating a Mount
|
||||
|
||||
1. In the admin panel go to **Mounts**.
|
||||
2. Create a new mount.
|
||||
3. Fill in the details as required.
|
||||
- **Name**: Name for your mount.
|
||||
- **Description**: Description for your mount.
|
||||
- **Source**: The directory where files are stored on the node.
|
||||
- **Target**: The directory where the mount will be placed inside of your server, can **not** be `/home/container`.
|
||||
- **Read Only**: Whether the mount will be read-only for the servers using it.
|
||||
- **User Mountable**: Whether to allow users to self mount this mount.
|
||||
4. After creating the mount you are required to add **Eggs** and **Nodes** that this mount may be used on.
|
||||
|
||||
:::warning Mounts used by multiple servers
|
||||
All servers using the same mounts will **only** share its contents when they are on the same node. Mounts are not synchronized between servers.
|
||||
:::
|
||||
|
||||
### Assigning a Mount to a Server
|
||||
|
||||
1. In the admin panel navigate to the server you would like to use a mount with
|
||||
2. Go to the mounts page
|
||||
3. Click the **+** button
|
||||
4. Restart the server
|
||||
|
||||
The files of the mount should become available in the target path in the container.
|
||||
|
||||
:::warning Mounts cannot be Accessed
|
||||
Mounts do not appear in the Panel's file manager, nor are they accessible via SFTP.
|
||||
:::
|
||||
73
panel/1.0/additional_configuration.md
Normal file
73
panel/1.0/additional_configuration.md
Normal file
@ -0,0 +1,73 @@
|
||||
# Additional Configuration
|
||||
|
||||
[[toc]]
|
||||
|
||||
## Backups
|
||||
|
||||
Pterodactyl Panel allows users to create backups of their servers. In order to create backups, backup storage has to be configured.
|
||||
|
||||
### Using S3 Backups
|
||||
|
||||
AWS S3 (or compatible storage) can be used to store backups. The following configuration options have to be set in the `.env` file in order to enable it.
|
||||
|
||||
```bash
|
||||
# Sets your panel to use s3 for backups
|
||||
APP_BACKUP_DRIVER=s3
|
||||
|
||||
# Info to actually use s3
|
||||
AWS_DEFAULT_REGION=
|
||||
AWS_ACCESS_KEY_ID=
|
||||
AWS_SECRET_ACCESS_KEY=
|
||||
AWS_BACKUPS_BUCKET=
|
||||
AWS_ENDPOINT=
|
||||
AWS_BACKUPS_USE_ACCELERATE=false
|
||||
|
||||
# This was/is planned to be depreciated by AWS thus if set to true it will fail the request.
|
||||
AWS_USE_PATH_STYLE_ENDPOINT=false
|
||||
```
|
||||
|
||||
## reCAPTCHA
|
||||
|
||||
The Panel uses invisible reCAPTCHA to secure the login page from brute-force attacks. If the login attempt is considered suspicious, users may be required to perform a reCAPTCHA challenge.
|
||||
|
||||
### Configuring reCAPTCHA
|
||||
|
||||
While we provide a global Site Key and Secret Key by default, we highly recommend changing it for your own setup.
|
||||
|
||||
You can generate your own keys in the [reCAPTCHA Admin Console](https://www.google.com/recaptcha/admin).
|
||||
|
||||
The keys can then be applied using the Settings in the admin panel. The reCAPTCHA settings can be found on the **Advanced**
|
||||
|
||||
### Disabling reCAPTCHA
|
||||
|
||||
:::warning SECURITY WARNING
|
||||
We do not recommend disabling reCAPTCHA. It is a security mechanism that makes it harder to perform brute-force attacks on user accounts.
|
||||
:::
|
||||
|
||||
If users have trouble logging in, or your Panel isn't exposed to the internet, in can make sense to disable reCAPTCHA.
|
||||
|
||||
reCAPTCHA can easily be disabled using the admin panel. In the Settings, select the **Advanced** tab and set the **Status** of reCAPTCHA to **disabled**.
|
||||
|
||||
#### Using the .env file
|
||||
|
||||
If you cannot access the panel yourself, you can also disable reCAPTCHA using the `.env` file.
|
||||
|
||||
```
|
||||
RECAPTCHA_ENABLED=false
|
||||
```
|
||||
|
||||
#### Editing your database
|
||||
|
||||
:::danger DANGEROUS: Not Recommended
|
||||
Proceed carefully. By running queries on your database directly, you can easily break your setup.
|
||||
:::
|
||||
If you cannot access your panel, but have used the web panel based settings already, you can modify the database directly using the following commands.
|
||||
|
||||
|
||||
```sql
|
||||
mysql -u root -p
|
||||
USE panel;
|
||||
UPDATE settings SET value = 'false' WHERE 'key' = 'settings::recaptcha:enabled';
|
||||
```
|
||||
|
||||
If the command returns with `Query OK, 0 rows affected (0.000 sec)` you need to use the `.env` method to disable reCAPTCHA
|
||||
Loading…
x
Reference in New Issue
Block a user