mirror of
https://github.com/pterodactyl/documentation.git
synced 2025-12-10 00:09:39 -06:00
Merge branch 'pterodactyl:master' into master
This commit is contained in:
commit
6b1ce134f1
49
.snippets/webservers/Caddyfile
Normal file
49
.snippets/webservers/Caddyfile
Normal 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
|
||||
}
|
||||
}
|
||||
49
.snippets/webservers/Caddyfile-nossl
Normal file
49
.snippets/webservers/Caddyfile-nossl
Normal 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
|
||||
}
|
||||
}
|
||||
@ -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',
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@ -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 🇺🇦
|
||||
<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"
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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).
|
||||
@ -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).
|
||||
@ -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).
|
||||
5
community/installation-guides/wings/debian.md
Normal file
5
community/installation-guides/wings/debian.md
Normal 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.
|
||||
@ -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).
|
||||
@ -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.
|
||||
@ -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).
|
||||
@ -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).
|
||||
@ -1,3 +1,8 @@
|
||||
---
|
||||
meta:
|
||||
- name: robots
|
||||
content: noindex
|
||||
---
|
||||
# Additional Configuration
|
||||
|
||||
::: danger This Software is Abandoned
|
||||
|
||||
@ -1,3 +1,8 @@
|
||||
---
|
||||
meta:
|
||||
- name: robots
|
||||
content: noindex
|
||||
---
|
||||
# Docker on Debian 8
|
||||
|
||||
[[toc]]
|
||||
|
||||
@ -1,3 +1,8 @@
|
||||
---
|
||||
meta:
|
||||
- name: robots
|
||||
content: noindex
|
||||
---
|
||||
# Installation
|
||||
|
||||
::: danger This Software is Abandoned
|
||||
|
||||
@ -1,3 +1,8 @@
|
||||
---
|
||||
meta:
|
||||
- name: robots
|
||||
content: noindex
|
||||
---
|
||||
# Kernel Modifications
|
||||
|
||||
[[toc]]
|
||||
|
||||
@ -1,3 +1,8 @@
|
||||
---
|
||||
meta:
|
||||
- name: robots
|
||||
content: noindex
|
||||
---
|
||||
# Standalone SFTP Server
|
||||
|
||||
::: danger This Software is Abandoned
|
||||
|
||||
@ -1,3 +1,8 @@
|
||||
---
|
||||
meta:
|
||||
- name: robots
|
||||
content: noindex
|
||||
---
|
||||
# Upgrading 0.4.X to 0.5.X
|
||||
|
||||
::: danger This Software is Abandoned
|
||||
|
||||
@ -1,3 +1,8 @@
|
||||
---
|
||||
meta:
|
||||
- name: robots
|
||||
content: noindex
|
||||
---
|
||||
# Upgrading 0.5 Series
|
||||
|
||||
::: danger This Software is Abandoned
|
||||
|
||||
@ -1,3 +1,8 @@
|
||||
---
|
||||
meta:
|
||||
- name: robots
|
||||
content: noindex
|
||||
---
|
||||
# Upgrading 0.5.X to 0.6.X
|
||||
|
||||
::: danger This Software is Abandoned
|
||||
|
||||
@ -1,3 +1,8 @@
|
||||
---
|
||||
meta:
|
||||
- name: robots
|
||||
content: noindex
|
||||
---
|
||||
# Upgrading 0.6 Series
|
||||
|
||||
::: danger This Software is Abandoned
|
||||
|
||||
@ -1,3 +1,8 @@
|
||||
---
|
||||
meta:
|
||||
- name: robots
|
||||
content: noindex
|
||||
---
|
||||
# Upgrading
|
||||
|
||||
::: danger This Software is Abandoned
|
||||
|
||||
@ -1,3 +1,8 @@
|
||||
---
|
||||
meta:
|
||||
- name: robots
|
||||
content: noindex
|
||||
---
|
||||
# Environment Configuration
|
||||
|
||||
[[toc]]
|
||||
|
||||
@ -1,3 +1,8 @@
|
||||
---
|
||||
meta:
|
||||
- name: robots
|
||||
content: noindex
|
||||
---
|
||||
# Getting Started
|
||||
|
||||
::: danger This Version is End-of-Life
|
||||
|
||||
@ -1,3 +1,8 @@
|
||||
---
|
||||
meta:
|
||||
- name: robots
|
||||
content: noindex
|
||||
---
|
||||
# Troubleshooting
|
||||
|
||||
[[toc]]
|
||||
|
||||
@ -1,3 +1,8 @@
|
||||
---
|
||||
meta:
|
||||
- name: robots
|
||||
content: noindex
|
||||
---
|
||||
# Upgrading 0.6 to 0.7
|
||||
|
||||
::: danger This Version is End-of-Life
|
||||
|
||||
@ -1,3 +1,8 @@
|
||||
---
|
||||
meta:
|
||||
- name: robots
|
||||
content: noindex
|
||||
---
|
||||
# Upgrading 0.7 Series
|
||||
|
||||
::: danger This Version is End-of-Life
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -1,3 +1,8 @@
|
||||
---
|
||||
meta:
|
||||
- name: robots
|
||||
content: noindex
|
||||
---
|
||||
# Webserver Configuration
|
||||
|
||||
::: danger This Version is End-of-Life
|
||||
|
||||
@ -25,14 +25,12 @@ this software on an OpenVZ based system you will — most likely — 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
|
||||
```
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
:::
|
||||
::::
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user