Merge branch 'pterodactyl:master' into master

This commit is contained in:
Jcodeerd 2024-08-15 12:04:16 +02:00 committed by GitHub
commit 6b1ce134f1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
41 changed files with 429 additions and 508 deletions

View File

@ -0,0 +1,49 @@
{
servers :443 {
timeouts {
read_body 120s
}
}
}
<domain> {
root * /var/www/pterodactyl/public
file_server
php_fastcgi unix//run/php/php8.1-fpm.sock {
root /var/www/pterodactyl/public
index index.php
env PHP_VALUE "upload_max_filesize = 100M
post_max_size = 100M"
env HTTP_PROXY ""
env HTTPS "on"
read_timeout 300s
dial_timeout 300s
write_timeout 300s
}
header Strict-Transport-Security "max-age=16768000; preload;"
header X-Content-Type-Options "nosniff"
header X-XSS-Protection "1; mode=block;"
header X-Robots-Tag "none"
header Content-Security-Policy "frame-ancestors 'self'"
header X-Frame-Options "DENY"
header Referrer-Policy "same-origin"
request_body {
max_size 100m
}
respond /.ht* 403
log {
output file /var/log/caddy/pterodactyl.log {
roll_size 100MiB
roll_keep_for 7d
}
level INFO
}
}

View File

@ -0,0 +1,49 @@
{
servers :80 {
timeouts {
read_body 120s
}
}
}
<domain>:80 {
root * /var/www/pterodactyl/public
file_server
php_fastcgi unix//run/php/php8.1-fpm.sock {
root /var/www/pterodactyl/public
index index.php
env PHP_VALUE "upload_max_filesize = 100M
post_max_size = 100M"
env HTTP_PROXY ""
# env HTTPS "on" # IMPORTANT: this is commented out, to disable HTTPS
read_timeout 300s
dial_timeout 300s
write_timeout 300s
}
header Strict-Transport-Security "max-age=16768000; preload;"
header X-Content-Type-Options "nosniff"
header X-XSS-Protection "1; mode=block;"
header X-Robots-Tag "none"
header Content-Security-Policy "frame-ancestors 'self'"
header X-Frame-Options "DENY"
header Referrer-Policy "same-origin"
request_body {
max_size 100m
}
respond /.ht* 403
log {
output file /var/log/caddy/pterodactyl.log {
roll_size 100MiB
roll_keep_for 7d
}
level INFO
}
}

View File

@ -74,8 +74,7 @@ module.exports = {
children: [
'/community/installation-guides/panel/centos7.md',
'/community/installation-guides/panel/centos8.md',
'/community/installation-guides/panel/debian10.md',
'/community/installation-guides/panel/debian11.md',
'/community/installation-guides/panel/debian.md',
]
},
{
@ -84,8 +83,7 @@ module.exports = {
children: [
'/community/installation-guides/wings/centos7.md',
'/community/installation-guides/wings/centos8.md',
'/community/installation-guides/wings/debian10.md',
'/community/installation-guides/wings/debian11.md',
'/community/installation-guides/wings/debian.md',
]
},
{

View File

@ -1,16 +1,7 @@
<template>
<div>
<div class="fixed h-12 w-full z-50 top-0">
<div class="h-12 w-full bg-black flex items-center justify-center px-4">
<p class="text-grey-lightest font-semibold">
Stand with Ukraine 🇺🇦&nbsp;
<a class="text-blue-lighter" href="https://www.savethechildren.org/us/where-we-work/ukraine" target="_blank" rel="noindex nofollow noopener">Donate</a>
<a class="text-blue-lighter" href="https://razomforukraine.org/" target="_blank" rel="noindex nofollow noopener">Today.</a>
</p>
</div>
</div>
<div
class="theme-container mt-12"
class="theme-container"
:class="pageClasses"
@touchstart="onTouchStart"
@touchend="onTouchEnd"

View File

@ -6,7 +6,7 @@ $arrow-bg: #000;
}
@apply .fixed .left-0 .bottom-0 .bg-white .overflow-auto .border-r .border-grey-lighter .py-8;
top: calc(3rem + 56px);
top: 56px;
width: 20rem;
font-size: 15px;

View File

@ -6,8 +6,8 @@ changes to these, and you'll lose any changes you've made.
[[toc]]
The first thing you'll need to do is create a new service. In this case, the name and description speak for themselves
in this case. The `Folder Name` _must be a unique name_ not being used by any other service, and should only
The first thing you'll need to do is create a new service. In this case, the name and description speak for themselves.
The `Folder Name` _must be a unique name_ not being used by any other service, and should only
contain letters, numbers, underscores, and dashes. This is the name of the folder where the daemon will be storing
the service options on the daemon.

View File

@ -45,7 +45,7 @@ Don't forget to account for OS overhead and other software requirements on machi
## Install the Daemon
At this point you'll need to have the Daemon installed on your machine. Check out the [documentation](/wings/installing.html)
for more information, or try one of the community guides for [CentOS](/community/installation-guides/wings/centos7.html),
[Ubuntu](/community/installation-guides/wings/ubuntu1804.html), or [Debian](/community/installation-guides/wings/debian9.html).
or [Debian](/community/installation-guides/wings/debian.html).
## Configuring the Node
Go to the Node Configuration page

View File

@ -4,7 +4,7 @@
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.
Instructions on how to build the panel are also available in the [BUILDING.md](https://github.com/pterodactyl/panel/blob/1.0-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.
@ -17,13 +17,16 @@ The build tools require NodeJS, yarn is used as the package manager.
```bash
# Ubuntu/Debian
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
apt install -y nodejs
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_16.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt update
sudo apt install -y nodejs
# CentOS
curl -sL https://rpm.nodesource.com/setup_16.x | sudo -E bash -
sudo yum install -y nodejs yarn # CentOS 7
sudo dnf install -y nodejs yarn # CentOS 8
sudo yum install https://rpm.nodesource.com/pub_16.x/nodistro/repo/nodesource-release-nodistro-1.noarch.rpm -y
sudo yum install nodejs -y
```
Install required javascript packages.

View File

@ -1,4 +1,4 @@
# CentOS 8, Rocky Linux 8, AlmaLinux 8
# CentOS 8, Rocky Linux 8, AlmaLinux 8, Fedora Server 38
In this guide we will install Pterodactyl v1.X — including all of it's dependencies — and configure our webserver to serve it using SSL.
[[toc]]
@ -29,7 +29,7 @@ systemctl enable mariadb
```
### PHP 8.0
We recommend the remi repo to get the latest php packages.
We recommend the remi repo to get the latest php packages. (Skip to next section if on Fedora 38)
```bash
## Install Repos
@ -44,6 +44,13 @@ dnf update -y
dnf install -y php php-{common,fpm,cli,json,mysqlnd,gd,mbstring,pdo,zip,bcmath,dom,opcache}
```
### If using Fedora Server 38 install PHP 8.1 and Dependencies from this section. If not, skip this section.
```bash
dnf install https://rpms.remirepo.net/fedora/remi-release-38.rpm
dnf module enable php:remi-8.1
dnf install php php-{common,fpm,cli,json,mysqlnd,gd,mbstring,pdo,zip,bcmath,dom,opcache,process}
```
### Composer
```bash
dnf install -y zip unzip tar # Required for Composer

View File

@ -1,9 +1,9 @@
# Debian 11
# Debian 11 & 12
[[toc]]
::: tip
This guide is based off the [official installation documentation](/panel/1.0/getting_started.md) but is tailored specifically for Debian 11.
This guide is based off the [official installation documentation](/panel/1.0/getting_started.md) but is tailored specifically for Debian 11 and 12.
:::
## Dependency Installation
@ -20,7 +20,7 @@ apt -y install software-properties-common curl ca-certificates gnupg2 sudo lsb-r
# Add repository for PHP
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
curl -fsSL https://packages.sury.org/php/apt.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/sury-keyring.gpg
curl -fsSL https://packages.sury.org/php/apt.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/sury-keyring.gpg
# Add repository for Redis
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

View File

@ -1,118 +0,0 @@
# Debian 10
In this guide we will install Pterodactyl v1.X — including all of it's dependencies — and configure our webserver to serve it using SSL.
[[toc]]
::: tip
This guide is based off the [official installation documentation](/panel/1.0/getting_started.md) but is tailored specifically for Debian 10.
:::
## Install Requirements
We will first begin by installing all of Pterodactyl's [required](/panel/1.0/getting_started.md#dependencies) dependencies.
### MariaDB
```bash
apt install -y software-properties-common curl apt-transport-https ca-certificates
## Get apt updates
apt update
## Install MariaDB
apt install -y mariadb-common mariadb-server mariadb-client
## Start mariadb
systemctl start mariadb
systemctl enable mariadb
```
### PHP 8.1
```bash
# Add repository for PHP
curl https://packages.sury.org/php/apt.gpg -o /etc/apt/trusted.gpg.d/php.gpg
echo "deb https://packages.sury.org/php/ buster main" | tee /etc/apt/sources.list.d/php.list
## Get apt updates
apt update
## Install PHP 8.1
apt install -y php8.1 php8.1-{cli,common,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip}
```
### Nginx
```bash
apt install -y nginx
```
### Redis
```bash
apt install -y redis-server
systemctl start redis-server
systemctl enable redis-server
```
### Additional Utilities
#### Certbot
```bash
apt install -y certbot curl
```
#### Composer
```bash
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
```
## Server Configuration
This following section covers the configuration of parts of the server to run the panel.
### Configuring MariaDB
The fastest way to set up mariadb is to use the `mysql_secure_installation` command and follow prompts
```bash
mysql_secure_installation
```
The following are safe defaults.
Change to your own secure password
`Set root password? [Y/n] Y`
Get rid of users that could access the db by default
`Remove anonymous users? [Y/n] Y`
Keep root off the external interfaces
`Disallow root login remotely? [Y/n] Y`
Extra databases that aren't needed
`Remove test database and access to it? [Y/n] Y`
Clears and sets all the changes made
`Reload privilege tables now? [Y/n] Y`
All done! If you've completed all of the above steps, your MariaDB installation should now be secure.
#### Adding MariaDB user
To add your first user to the database, see our tutorial on [setting up MySQL](/tutorials/mysql_setup.md).
### Setup PHP
The default php-fpm configuration is fine to use and can be started and then enabled on the system using the
commands below.
```bash
systemctl enable php8.1-fpm
systemctl start php8.1-fpm
```
### Nginx
Please check our [tutorial](/tutorials/creating_ssl_certificates.md) on generating SSL certificates for more information.
#### SSL Configuration
<<< @/.snippets/webservers/nginx-php8.1.conf{5,11,26-27}
### Redis Setup
The default Redis install is perfectly fine for the panel. If you have Redis already in use you may want to look into
[running another Redis instance](https://community.pivotal.io/s/article/How-to-setup-and-run-multiple-Redis-server-instances-on-a-Linux-host).
## Installing the Panel
Excellent, we now have all of the required dependencies installed and configured. From here, follow the [official Panel installation documentation](/panel/1.0/getting_started.md#download-files).

View File

@ -1,112 +0,0 @@
# Ubuntu 18.04
In this guide we will install Pterodactyl v1.X — including all of it's dependencies — and configure our webserver to serve it using SSL.
[[toc]]
::: tip
This guide is based off the [official installation documentation](/panel/1.0/getting_started.md) but is tailored specifically for Ubuntu 18.04.
:::
## Install Requirements
We will first begin by installing all of Pterodactyl's [required](/panel/1.0/getting_started.md#dependencies) dependencies.
### MariaDB
```bash
## Get apt updates
apt update -y
## Install MariaDB
apt install -y mariadb-common mariadb-server mariadb-client
## Start MariaDB
systemctl start mariadb
systemctl enable mariadb
```
### PHP 7.4
```bash
## Get apt updates
apt update -y
## Install PHP 7.4
apt install -y php7.4 php7.4-{cli,gd,mysql,pdo,mbstring,tokenizer,bcmath,xml,fpm,curl,zip}
```
### Nginx
```bash
apt install -y nginx
```
### Redis
```bash
apt install -y redis-server
systemctl start redis-server
systemctl enable redis-server
```
### Additional Utilities
#### Certbot
```bash
apt install -y certbot
```
#### Composer
```bash
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
```
## Server Configuration
This following section covers the configuration of parts of the server to run the panel.
### Configuring MariaDB
The fastest way to set up MariaDB is to use the `mysql_secure_installation` command and follow prompts
```bash
mysql_secure_installation
```
The following are safe defaults.
Change to your own secure password
`Set root password? [Y/n] Y`
Get rid of users that could access the db by default
`Remove anonymous users? [Y/n] Y`
Keep root off the external interfaces
`Disallow root login remotely? [Y/n] Y`
Extra databases that aren't needed
`Remove test database and access to it? [Y/n] Y`
Clears and sets all the changes made
`Reload privilege tables now? [Y/n] Y`
All done! If you've completed all of the above steps, your MariaDB installation should now be secure.
#### Adding MariaDB user
To add your first user to the database, see our tutorial on [setting up MySQL](/tutorials/mysql_setup.md).
### Setup PHP
The default php-fpm configuration is fine to use and can be started and then enabled on the system using the
commands below.
```bash
systemctl enable php7.4-fpm
systemctl start php7.4-fpm
```
### Nginx
Please check our [tutorial](/tutorials/creating_ssl_certificates.md) on generating SSL certificates for more information.
#### SSL Configuration
<<< @/.snippets/webservers/nginx-php7.4.conf{5,11,26-27}
### Redis Setup
The default Redis install is perfectly fine for the panel. If you have Redis already in use you may want to look into
[running another Redis instance](https://community.pivotal.io/s/article/How-to-setup-and-run-multiple-Redis-server-instances-on-a-Linux-host).
## Installing the Panel
Excellent, we now have all of the required dependencies installed and configured. From here, follow the [official Panel installation documentation](/panel/1.0/getting_started.md#download-files).

View File

@ -1,111 +0,0 @@
# Ubuntu 20.04
In this guide we will install Pterodactyl v1.X — including all of it's dependencies — and configure our webserver to serve it using SSL.
[[toc]]
::: tip
This guide is based off the [official installation documentation](/panel/1.0/getting_started.md) but is tailored specifically for Ubuntu 20.04.
:::
## Install Requirements
We will first begin by installing all of Pterodactyl's [required](/panel/1.0/getting_started.md#dependencies) dependencies.
### MariaDB
```bash
## Get apt updates
apt update -y
## Install MariaDB
apt install -y mariadb-common mariadb-server mariadb-client
## Start MariaDB
systemctl start mariadb
systemctl enable mariadb
```
### PHP 8.0
```bash
## Get apt updates
apt update -y
## Install PHP 8.0
apt -y install php8.0 php8.0-{cli,gd,mysql,pdo,mbstring,tokenizer,bcmath,xml,fpm,curl,zip}
```
### Nginx
```bash
apt install -y nginx
```
### Redis
```bash
apt install -y redis-server
systemctl start redis-server
systemctl enable redis-server
```
### Additional Utilities
#### Certbot
```bash
apt install -y certbot
```
#### Composer
```bash
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
```
## Server Configuration
This following section covers the configuration of parts of the server to run the panel.
### Configuring MariaDB
The fastest way to set up MariaDB is to use the `mysql_secure_installation` command and follow prompts
```bash
mysql_secure_installation
```
The following are safe defaults.
Change to your own secure password
`Set root password? [Y/n] Y`
Get rid of users that could access the db by default
`Remove anonymous users? [Y/n] Y`
Keep root off the external interfaces
`Disallow root login remotely? [Y/n] Y`
Extra databases that aren't needed
`Remove test database and access to it? [Y/n] Y`
Clears and sets all the changes made
`Reload privilege tables now? [Y/n] Y`
All done! If you've completed all of the above steps, your MariaDB installation should now be secure.
#### Adding MariaDB user
To add your first user to the database, see our tutorial on [setting up MySQL](/tutorials/mysql_setup.md).
### Setup PHP
The default php-fpm configuration is fine to use and can be started and then enabled on the system using the
commands below.
```bash
systemctl enable php8.0-fpm
systemctl start php8.0-fpm
```
### Nginx Configuration
Follow [this guide](/panel/1.0/webserver_configuration.html) to setup Nginx for Pterodactyl, choose whether to use Nginx with or without SSL.
### Redis Setup
The default Redis install is perfectly fine for the panel. If you have Redis already in use you may want to look into
[running another Redis instance](https://community.pivotal.io/s/article/How-to-setup-and-run-multiple-Redis-server-instances-on-a-Linux-host).
## Installing the Panel
Excellent, we now have all of the required dependencies installed and configured. From here, follow the [official Panel installation documentation](/panel/1.0/getting_started.md#download-files).

View File

@ -0,0 +1,5 @@
# Debian 11 & 12
## Install
There is no additional configuration required for Wings on Debian 11 or 12. You can follow the [official Wings install documentation](/wings/1.0/installing.md), which covers Docker installation for Debian.

View File

@ -1,35 +0,0 @@
# Debian 10
In this guide we will install Pterodactyl's Wings v1.X — including all of it's dependencies — and configure it to use a SSL connection.
[[toc]]
::: tip
This guide is based off the [official installation documentation](/wings/1.0/installing.md) but is tailored specifically for Debian 10.
:::
## Install Requirements
We will first begin by installing all of Wings' [required](/wings/1.0/installing.md#dependencies) dependencies.
### Docker
```bash
## install apt tools
apt install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common
## Import the docker gpg key
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
## Add the docker stable repo
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
## Install docker
apt update -y
apt install -y docker-ce
## Enable docker service
systemctl enable docker
systemctl start docker
```
## Installing Wings
Great, now all of the dependencies have been dealt with. From here follow the [official Wings installation documentation](/wings/1.0/installing.html#enabling-swap).

View File

@ -1,5 +0,0 @@
# Debian 11
## Install
There is no additional configuration required for Wings on Debian 11. You can follow the [official Wings install documentation](/wings/1.0/installing.md), which covers Docker installation for Debian.

View File

@ -1,25 +0,0 @@
# Ubuntu 18.04
In this guide we will install Pterodactyl's Wings v1.X — including all of it's dependencies — and configure it to use a SSL connection.
[[toc]]
::: tip
This guide is based off the [official installation documentation](/wings/1.0/installing.md) but is tailored specifically for Ubuntu 18.04.
:::
## Install Requirements
We will first begin by installing all of Wings' [required](/wings/1.0/installing.md#dependencies) dependencies.
### Docker
```bash
## Install docker
apt install -y docker.io
## Enable docker service
systemctl enable docker
systemctl start docker
```
## Installing Wings
Great, now all of the dependencies and firewall rules have been dealt with. From here follow the [official Wings installation documentation](/wings/1.0/installing.html#enabling-swap).

View File

@ -1,25 +0,0 @@
# Ubuntu 20.04
In this guide we will install Pterodactyl's Wings v1.X — including all of it's dependencies — and configure it to use a SSL connection.
[[toc]]
::: tip
This guide is based off the [official installation documentation](/wings/1.0/installing.md) but is tailored specifically for Ubuntu 20.04.
:::
## Install Requirements
We will first begin by installing all of Wings' [required](/wings/1.0/installing.md#dependencies) dependencies.
### Docker
```bash
## Install docker
apt install -y docker.io
## Enable docker service
systemctl enable docker
systemctl start docker
```
## Installing Wings
Great, now all of the dependencies and firewall rules have been dealt with. From here follow the [official Wings installation documentation](/wings/1.0/installing.html#enabling-swap).

View File

@ -1,3 +1,8 @@
---
meta:
- name: robots
content: noindex
---
# Additional Configuration
::: danger This Software is Abandoned

View File

@ -1,3 +1,8 @@
---
meta:
- name: robots
content: noindex
---
# Docker on Debian 8
[[toc]]

View File

@ -1,3 +1,8 @@
---
meta:
- name: robots
content: noindex
---
# Installation
::: danger This Software is Abandoned

View File

@ -1,3 +1,8 @@
---
meta:
- name: robots
content: noindex
---
# Kernel Modifications
[[toc]]

View File

@ -1,3 +1,8 @@
---
meta:
- name: robots
content: noindex
---
# Standalone SFTP Server
::: danger This Software is Abandoned

View File

@ -1,3 +1,8 @@
---
meta:
- name: robots
content: noindex
---
# Upgrading 0.4.X to 0.5.X
::: danger This Software is Abandoned

View File

@ -1,3 +1,8 @@
---
meta:
- name: robots
content: noindex
---
# Upgrading 0.5 Series
::: danger This Software is Abandoned

View File

@ -1,3 +1,8 @@
---
meta:
- name: robots
content: noindex
---
# Upgrading 0.5.X to 0.6.X
::: danger This Software is Abandoned

View File

@ -1,3 +1,8 @@
---
meta:
- name: robots
content: noindex
---
# Upgrading 0.6 Series
::: danger This Software is Abandoned

View File

@ -1,3 +1,8 @@
---
meta:
- name: robots
content: noindex
---
# Upgrading
::: danger This Software is Abandoned

View File

@ -1,3 +1,8 @@
---
meta:
- name: robots
content: noindex
---
# Environment Configuration
[[toc]]

View File

@ -1,3 +1,8 @@
---
meta:
- name: robots
content: noindex
---
# Getting Started
::: danger This Version is End-of-Life

View File

@ -1,3 +1,8 @@
---
meta:
- name: robots
content: noindex
---
# Troubleshooting
[[toc]]

View File

@ -1,3 +1,8 @@
---
meta:
- name: robots
content: noindex
---
# Upgrading 0.6 to 0.7
::: danger This Version is End-of-Life

View File

@ -1,3 +1,8 @@
---
meta:
- name: robots
content: noindex
---
# Upgrading 0.7 Series
::: danger This Version is End-of-Life

View File

@ -1,3 +1,8 @@
---
meta:
- name: robots
content: noindex
---
# Upgrading
Upgrading the Panel is a relatively simple process. Below you will find a list of articles that will walk you through
the upgrade process for each version of the software.

View File

@ -1,3 +1,8 @@
---
meta:
- name: robots
content: noindex
---
# Webserver Configuration
::: danger This Version is End-of-Life

View File

@ -25,14 +25,12 @@ this software on an OpenVZ based system you will &mdash; most likely &mdash; not
| Operating System | Version | Supported | Notes |
|------------------|---------|:------------------:|-------------------------------------------------------------|
| **Ubuntu** | 18.04 | :white_check_mark: | Documentation written assuming Ubuntu 18.04 as the base OS. |
| | 20.04 | :white_check_mark: | |
| | 22.04 | :white_check_mark: | |
| | 22.04 | :white_check_mark: | MariaDB can be installed without the repo setup script. |
| **Ubuntu** | 20.04 | :white_check_mark: | Documentation written assuming Ubuntu 20.04 as the base OS. |
| | 22.04 | :white_check_mark: | MariaDB can be installed without the repo setup script. |
| **CentOS** | 7 | :white_check_mark: | Extra repos are required. |
| | 8 | :white_check_mark: | Note that CentOS 8 is EOL. Use Rocky or Alma Linux. |
| **Debian** | 10 | :white_check_mark: | |
| | 11 | :white_check_mark: | |
| **Debian** | 11 | :white_check_mark: | |
| | 12 | :white_check_mark: | |
## Dependencies
@ -68,9 +66,6 @@ curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
# Update repositories list
apt update
# Add universe repository if you are on Ubuntu 18.04
apt-add-repository universe
# Install Dependencies
apt -y install php8.1 php8.1-{common,cli,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip} mariadb-server nginx tar unzip git redis-server
```

View File

@ -118,6 +118,41 @@ audit2allow -a -M http_port_t
semodule -i http_port_t.pp
```
## Containers don't have internet? Probably a DNS issue!
Now that Wings has run successfully and you have gotten the green heart on your Nodes page, the wings config at '/etc/pterodactyl/config.yml' will have new values.
One of those values is DNS, which by default will be 1.1.1.1 and 1.0.0.1
If you are using a host that blocks Cloudflare DNS, you will have to use different DNS Servers; typically the same ones your host system is using.
You can view what DNS Servers your host uses through a number of ways depending on how your operating system handles networking. If one of these doesn't work, try another one.
```bash
# Network Manager (This will show both your IPV4 DNS and IPV6 DNS Servers in case you want to add the IPV6 DNS Server(s) from your host to your Wings Config as well.
nmcli -g ip4.dns,ip6.dns dev show
# Systemd-Resolve (Ubuntu 18.04 and 20.04)
systemd-resolve --status
# Resolve-CTL (Newer Versions of Ubuntu)
resolvectl status
# Raw file locations that may have your host system's DNS Servers for various distributions
/etc/resolv.conf
/etc/network/interfaces
```
If this returns different DNS Servers than 1.1.1.1 and 1.0.0.1 you'll need to edit the wings 'config.yml' file to use the DNS servers that were returned from the command. If you see output that looks like an IPV6 address in addition to your IPV4 DNS Servers, make sure you put that in the IPV6 section and not the IPV4 section. To be clear, if you have to use different DNS Servers than the default, make sure to REMOVE 1.1.1.1 and 1.0.0.1 from the wings config; don't just add the new servers, replace the old servers.
## Schedule Troubleshooting
- Check logs from your queue manager ``journalctl -xeu pteroq``
- Restart pteroq ``systemctl restart pteroq``
- Clear schedule cache ``php /var/www/pterodactyl/artisan schedule:clear-cache``
- Check your php version - up to 8.1 is supported ``php -v``
- Check your crontab syntax using <https://crontab.guru/> - make sure it's what you intended
- Verify the problem is with the schedule and not with the tasks you have set up (Set the first task in your schedule to something you know prints a message in the console, ie. run ``say test`` in the console for a Minecraft server, if the text "test" shows up in the console successfully, set the first task to ``say test`` so you know if it runs
- Are your tasks off by a bit? Make sure you on the latest version of the panel? In version 1.11.5 there was a fix for schedules running at the wrong time. Alternatively, you may have the wrong timezone set. Make sure your timezones all match.
- System Timezone ``timedatectl``
- Panel Timezone ``nano /var/www/pterodactyl/.env``
- Wings Timezone (Passed to containers as the TZ environmental variable, unrelated to schedules but while you're checking timezones you may as well set this too) ``nano /etc/pterodactyl/config.yml``
- Check your database where schedules are stored - MariaDB by default
- ``systemctl status mariadb`` - if it's not active, ``journalctl -xeu mariadb``
- Check queue handler - Redis by default
- ``systemctl status redis`` - if it's not active, ``journalctl -xeu redis`` (On some distributions the service will be named ``redis-server`` instead)
- Check for panel errors ``tail -n 150 /var/www/pterodactyl/storage/logs/laravel-$(date +%F).log | nc pteropaste.com 99``
## FirewallD issues
If you are on a RHEL/CentOS server with `firewalld` installed you may have broken DNS.

View File

@ -4,8 +4,12 @@
When using the SSL configuration you MUST create SSL certificates, otherwise your webserver will fail to start. See the [Creating SSL Certificates](/tutorials/creating_ssl_certificates.html) documentation page to learn how to create these certificates before continuing.
:::
:::: tabs
::: tab "Nginx With SSL"
::: tip
If you are using [Caddy With Automatic SSL](#caddy-with-automatic-ssl), you do not have to create SSL certificates manually, Caddy will take care of it automatically.
:::
::::: tabs
:::: tab "Nginx With SSL"
First, remove the default NGINX configuration.
``` bash
@ -29,8 +33,8 @@ sudo ln -s /etc/nginx/sites-available/pterodactyl.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx
```
:::
::: tab "Nginx Without SSL"
::::
:::: tab "Nginx Without SSL"
First, remove the default NGINX configuration.
``` bash
@ -54,8 +58,8 @@ sudo ln -s /etc/nginx/sites-available/pterodactyl.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx
```
:::
::: tab "Apache With SSL"
::::
:::: tab "Apache With SSL"
First, remove the default Apache configuration.
``` bash
@ -82,8 +86,8 @@ sudo a2enmod ssl
sudo systemctl restart apache2
```
:::
::: tab "Apache Without SSL"
::::
:::: tab "Apache Without SSL"
First, remove the default Apache configuration.
``` bash
@ -109,7 +113,61 @@ sudo a2enmod rewrite
sudo systemctl restart apache2
```
:::
::::
:::: tab "Caddy With Automatic SSL"
Before adding our custom configuration, let's remove the default one. You can do it either by deleting the contents of config file or by deleting the config file completely and than creating a new one from scratch. The config file path is `/etc/caddy/Caddyfile`.
To delete the config file completely, run the following command:
```shell
rm /etc/caddy/Caddyfile
```
Then continue with an editor of your choice to write the config.
You should paste the contents of the file below, replacing `<domain>` with your domain name.
<<< @/.snippets/webservers/Caddyfile{9}
::: tip
If you are using Cloudflare DNS in proxy mode, refer to [this tutorial](/tutorials/creating_ssl_certificates.html#method-3:-caddy-(using-cloudflare-api)), to see how to configure Caddy to use DNS challenge for obtaining SSL certificates.
:::
### Enabling Configuration
The final step is to restart Caddy.
```bash
systemctl restart caddy
```
::::
:::: tab "Caddy Without SSL"
Before adding our custom configuration, let's remove the default one. You can do it either by deleting the contents of config file or by deleting the config file completely and than creating a new one from scratch. The config file path is `/etc/caddy/Caddyfile`.
To delete the config file completely, run the following command:
```shell
rm /etc/caddy/Caddyfile
```
Then continue with an editor of your choice to write the config.
You should paste the contents of the file below, replacing `<domain>` with your domain name.
The only two differences are that we have suffixed the `<domain>` with `:80` and in the global config at `servers` directive, we have changed the port from `:443` to `:80`.
<<< @/.snippets/webservers/Caddyfile-nossl{9}
### Enabling Configuration
The final step is to restart Caddy.
```bash
systemctl restart caddy
```
::::
:::::
#### Next Step: [Wings Installation](../../wings/installing.md)

View File

@ -4,14 +4,12 @@
## Core Project Team
| Name | Discord Name | Primary Role |
|-----------------------------------------------|----------------------|-------------------------------------|
| [Dane Everitt](https://daneeveritt.com/) | `Tactical Fish#8008` | Founder & Former Project Maintainer |
| [Matthew Penner](https://matthewp.io/) | `matthewp#0001` | Project Maintainer |
| Stepan Fedotov | `Trixter#0001` | WHMCS Module Maintainer |
| Michael Parker | `parkervcp#6789` | Egg Developer, Docker Integration |
| [Jakob Schrettenbrunner](https://schrej.net/) | `schrej#1337` | Developer |
| [Lance Pioch](https://lancepioch.com/) | `ShadowLancer#5209` | Developer |
| Name | Discord Name | Primary Role |
|-----------------------------------------------|-----------------|-------------------------------------|
| [Dane Everitt](https://daneeveritt.com/) | `.tacticalfish` | Founder & Former Project Maintainer |
| [Matthew Penner](https://matthewp.io/) | `matthewp` | Project Maintainer |
| Stepan Fedotov | `trixter` | WHMCS Module Maintainer |
| Michael Parker | `parkervcp` | Egg Developer, Docker Integration |
Members of the project team have a red username in our Discord server.
@ -22,25 +20,23 @@ members can be found in our Discord server and are distinguished with a yellow u
## Sponsors
The following companies help to fund Pterodactyl's development. [Interested in becoming a sponsor?](https://github.com/sponsors/matthewpi)
The following companies help fund Pterodactyl's development. [Interested in becoming a sponsor?](https://github.com/sponsors/matthewpi)
| Company | About |
|-----------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [**WISP**](https://wisp.gg) | Extra features. |
| [**Aussie Server Hosts**](https://aussieserverhosts.com/) | No frills Australian Owned and operated High Performance Server hosting for some of the most demanding games serving Australia and New Zealand. |
| [**BisectHosting**](https://www.bisecthosting.com/) | BisectHosting provides Minecraft, Valheim and other server hosting services with the highest reliability and lightning fast support since 2012. |
| [**MineStrator**](https://minestrator.com/) | Looking for the most highend French hosting company for your minecraft server? More than 24,000 members on our discord trust us. Give us a try! |
| [**Skynode**](https://www.skynode.pro/) | Skynode provides blazing fast game servers along with a top-notch user experience. Whatever our clients are looking for, we're able to provide it! |
| [**VibeGAMES**](https://vibegames.net/) | VibeGAMES is a game server provider that specializes in DDOS protection for the games we offer. We have multiple locations in the US, Brazil, France, Germany, Singapore, Australia and South Africa. |
| [**Pterodactyl Market**](https://pterodactylmarket.com/) | Pterodactyl Market is a one-and-stop shop for Pterodactyl. In our market, you can find Add-ons, Themes, Eggs, and more for Pterodactyl. |
| [**UltraServers**](https://ultraservers.com/) | Deploy premium games hosting with the click of a button. Manage and swap games with ease and let us take care of the rest. We currently support Minecraft, Rust, ARK, 7 Days to Die, Garys MOD, CS:GO, Satisfactory and others. |
| [**Realms Hosting**](https://realmshosting.com/) | Want to build your Gaming Empire? Use Realms Hosting today to kick start your game server hosting with outstanding DDOS Protection, 24/7 Support, Cheap Prices and a Custom Control Panel. | |
| Company | About |
|--------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [**Aussie Server Hosts**](https://aussieserverhosts.com/) | No frills Australian Owned and operated High Performance Server hosting for some of the most demanding games serving Australia and New Zealand. |
| [**CodeNode LLC**](https://codenode.gg/) | Looking for simplicity? Well, look no further! CodeNode has got you covered with everything you need at the rock-bottom price of $1.75 per GB, including dedicated IPs in Dallas, Texas, and Amsterdam, Netherlands. We're not just good, we're the best in the game! |
| [**BisectHosting**](https://www.bisecthosting.com/) | BisectHosting provides Minecraft, Valheim and other server hosting services with the highest reliability and lightning fast support since 2012. |
| [**MineStrator**](https://minestrator.com/) | Looking for the most highend French hosting company for your minecraft server? More than 24,000 members on our discord trust us. Give us a try! |
| [**HostEZ**](https://hostez.io) | US & EU Rust & Minecraft Hosting. DDoS Protected bare metal, VPS and colocation with low latency, high uptime and maximum availability. EZ! |
| [**Blueprint**](https://blueprint.zip/?pterodactyl=true) | Create and install Pterodactyl addons and themes with the growing Blueprint framework - the package-manager for Pterodactyl. Use multiple modifications at once without worrying about conflicts and make use of the large extension ecosystem. |
| [**indifferent broccoli**](https://indifferentbroccoli.com/) | indifferent broccoli is a game server hosting and rental company. With us, you get top-notch computer power for your gaming sessions. We destroy lag, latency, and complexity--letting you focus on the fun stuff. |
## License
Pterodactyl® Copyright © 2015 - 2022 Dane Everitt and contributors.
Pterodactyl® Copyright © 2015 Dane Everitt and contributors.
Code released under the [MIT License](https://github.com/pterodactyl/panel/blob/develop/LICENSE.md).
Code released under the [MIT License](https://github.com/pterodactyl/panel/blob/1.0-develop/LICENSE.md).
## Release Signing

View File

@ -112,7 +112,7 @@ After installing acme.sh, we need to fetch a CloudFlare API key. On Cloudfare's
Since the configuration file is based on Certbot, we need to create the folder manually.
```bash
sudo mkdir /etc/letsencrypt/live/example.com
sudo mkdir -p /etc/letsencrypt/live/example.com
```
After installing acme.sh and obtaining CloudFlare API key, we need to then generate a certificate. First input the CloudFlare API credentials.
@ -140,5 +140,87 @@ After running the script for the first time, it will be added to the crontab aut
sudo crontab -e
```
:::
::: tab "Method 3: Caddy (using Cloudflare API)"
This is for advanced users, who are running Cloudflare in proxy mode or do not have access to port `80`.
### Installing Caddy with Cloudflare DNS plugin
Caddy does not come by default with Cloudflare DNS plugin, you need to install it yourself.
There are two main methods:
1. Using `xcaddy` - CLI tool to build your own Caddy build
2. Downloading prebuilt binary from [Caddy's download page](https://caddyserver.com/download).
3. Using Ansible to download and install Caddy with plugins. See [caddy-ansible](https://github.com/caddy-ansible/caddy-ansible)
#### Build Caddy using `xcaddy` on your server
Please refer to [Caddy docs on building Caddy](https://caddyserver.com/docs/build#xcaddy).
### Obtaining CloudFlare API Token
After installing acme.sh, we need to fetch a CloudFlare API key. Please make sure that a DNS record (A or CNAME record) is pointing to your target node, and set the cloud to grey (bypassing CloudFlare proxy). Then go to My Profile > API keys and on Global API Key subtab, click on "view", enter your CloudFlare password, and copy the API key to clipboard.
After install Caddy with Cloudflare DNS plugin, we need to fetch a Cloudflare API token. Please make sure that a DNS record (A or CNAME record) is pointing at your target node. Then go to My Profile > API Tokens and on API Tokens click "Create Token". Create API Token > API token templates, at the end of line with "Edit zone DNS", click "Use template". Under **Zone Resources**, select your DNS zone for which you wish to create the API token, click "Continue to summary". Review the API token summary and click "Create Token". And finally copy the API token to clipboard.
### Reconfiguring Caddy to use Cloudflare DNS for obtaining certificates
Create an environment variable file (like `.env`), keep in mind that this file contains secrets and should not be accessed by public.
We recommend that you create the secret file in the following location: `/etc/caddy/.secrets.env`.
```bash
CLOUDFLARE_API_TOKEN=<your cloudflare api token>
```
For security reasons, we recommend setting permissions to `0600` (only owner can read or write to the file).
```bash
# Set ownership of the `.secrets.env` file to `caddy` system user
chown caddy:caddy /etc/caddy/.secrets.env
# Set read-write permissions only to owner - the `caddy` system user
chmod 0600 /etc/caddy/.secrets.env
```
Modify the systemd unit file, to load environment variables from file (add `--envfile /etc/caddy/.secrets.env` flag to `ExecStart`), the default systemd unit file location is `/etc/systemd/system/caddy.service`:
```unit{12}
[Unit]
Description=Caddy
Documentation=https://caddyserver.com/docs/
After=network.target network-online.target
Requires=network-online.target
[Service]
Type=notify
User=caddy
Group=caddy
ExecStart=/usr/bin/caddy run --environ --envfile /etc/caddy/.secrets.env --config /etc/caddy/Caddyfile
ExecReload=/usr/bin/caddy reload --config /etc/caddy/Caddyfile
TimeoutStopSec=5s
LimitNOFILE=1048576
LimitNPROC=512
PrivateTmp=true
ProtectSystem=full
AmbientCapabilities=CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
```
You can add a `tls` block to your `Caddyfile`, under the `<domain>` block of your panel configuration, the Caddy config file location is `/etc/caddy/Caddyfile`:
```caddyfile{5-7}
<domain> {
# ...
tls {
dns cloudflare {env.CLOUDFLARE_API_TOKEN}
}
}
```
:::
::::

View File

@ -18,13 +18,12 @@ only the versions listed below.
| Operating System | Version | Supported | Notes |
|------------------|---------|:------------------:|-------------------------------------------------------------|
| **Ubuntu** | 18.04 | :white_check_mark: | Documentation written assuming Ubuntu 18.04 as the base OS. |
| | 20.04 | :white_check_mark: | |
| **Ubuntu** | 20.04 | :white_check_mark: | Documentation written assuming Ubuntu 20.04 as the base OS. |
| | 22.04 | :white_check_mark: | |
| **CentOS** | 7 | :white_check_mark: | |
| | 8 | :white_check_mark: | Note that CentOS 8 is EOL. Use Rocky or Alma Linux. |
| **Debian** | 10 | :white_check_mark: | |
| | 11 | :white_check_mark: | |
| **Debian** | 11 | :white_check_mark: | |
| | 12 | :white_check_mark: | |
| **Windows** | All | :x: | This software will not run in Windows environments. |
## System Requirements
@ -76,7 +75,7 @@ probably using a non-supported kernel. Check our [Kernel Modifications](../../..
If you are on an operating system with systemd (Ubuntu 16+, Debian 8+, CentOS 7+) run the command below to have Docker start when you boot your machine.
```bash
systemctl enable --now docker
sudo systemctl enable --now docker
```
#### Enabling Swap
@ -105,9 +104,9 @@ The first step for installing Wings is to ensure we have the required directory
run the commands below, which will create the base directory and download the wings executable.
```bash
mkdir -p /etc/pterodactyl
sudo mkdir -p /etc/pterodactyl
curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")"
chmod u+x /usr/local/bin/wings
sudo chmod u+x /usr/local/bin/wings
```
::: warning OVH/SYS Servers