From 899388be7642dc261b68cf8924f8c2f8fe9a6ac9 Mon Sep 17 00:00:00 2001 From: Loki <59907407+Loki-101@users.noreply.github.com> Date: Mon, 16 Jan 2023 23:38:29 -0800 Subject: [PATCH 01/42] Fedora Server 37 Support With this small modification Fedora Server 37 will work with this guide out of the box. --- community/installation-guides/panel/centos8.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community/installation-guides/panel/centos8.md b/community/installation-guides/panel/centos8.md index d9cde11d..bedfde12 100644 --- a/community/installation-guides/panel/centos8.md +++ b/community/installation-guides/panel/centos8.md @@ -32,7 +32,7 @@ systemctl enable mariadb We recommend the remi repo to get the latest php packages. ```bash -## Install Repos +## Install Repos (If on Fedora Server 37, skip the "Install Repos" step and instead install php-process with "dnf install php-process". Then, continue at the "Get dnf updates" step.) dnf install epel-release dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm dnf module enable php:remi-8.0 From ea3e3502fa67e49c5b01d646683fa1750ad9347e Mon Sep 17 00:00:00 2001 From: Loki <59907407+Loki-101@users.noreply.github.com> Date: Tue, 17 Jan 2023 15:55:39 -0800 Subject: [PATCH 02/42] Design fix Just moved my earlier change outside the markdown block so it would be easier to see after I realized with the first commit people would have to scroll to the right just to see the instructions. It's also more uniform with other instructions now. --- community/installation-guides/panel/centos8.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/community/installation-guides/panel/centos8.md b/community/installation-guides/panel/centos8.md index bedfde12..9a6dfe8b 100644 --- a/community/installation-guides/panel/centos8.md +++ b/community/installation-guides/panel/centos8.md @@ -30,9 +30,10 @@ systemctl enable mariadb ### PHP 8.0 We recommend the remi repo to get the latest php packages. +If on Fedora Server 37, skip the "Install Repos" step and instead install php-process with "dnf install php-process". Then, continue at the "Get dnf updates" step. ```bash -## Install Repos (If on Fedora Server 37, skip the "Install Repos" step and instead install php-process with "dnf install php-process". Then, continue at the "Get dnf updates" step.) +## Install Repos dnf install epel-release dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm dnf module enable php:remi-8.0 From 9900d312ea6d6f915d4df042612a0443ba274f36 Mon Sep 17 00:00:00 2001 From: Loki <59907407+Loki-101@users.noreply.github.com> Date: Tue, 31 Jan 2023 17:47:52 -0800 Subject: [PATCH 03/42] Forgot a label --- community/installation-guides/panel/centos8.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community/installation-guides/panel/centos8.md b/community/installation-guides/panel/centos8.md index 9a6dfe8b..7858fa33 100644 --- a/community/installation-guides/panel/centos8.md +++ b/community/installation-guides/panel/centos8.md @@ -1,4 +1,4 @@ -# CentOS 8, Rocky Linux 8, AlmaLinux 8 +# CentOS 8, Rocky Linux 8, AlmaLinux 8, Fedora Server 37 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]] From 93753b751f5f0a7fcddad046b0fea773cf8259b0 Mon Sep 17 00:00:00 2001 From: Loki <59907407+Loki-101@users.noreply.github.com> Date: Thu, 18 May 2023 17:18:30 -0700 Subject: [PATCH 04/42] Update troubleshooting.md --- panel/1.0/troubleshooting.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/panel/1.0/troubleshooting.md b/panel/1.0/troubleshooting.md index a368fa6f..dd27af95 100644 --- a/panel/1.0/troubleshooting.md +++ b/panel/1.0/troubleshooting.md @@ -118,6 +118,22 @@ 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 +# Systemd-Resolve +systemd-resolve --status" +# Network Manager +nmcli dev show +# 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. + ## FirewallD issues If you are on a RHEL/CentOS server with `firewalld` installed you may have broken DNS. From f066864b9eec8a9f51bf4be79eadb54f576bc26c Mon Sep 17 00:00:00 2001 From: Loki <59907407+Loki-101@users.noreply.github.com> Date: Sun, 21 May 2023 18:06:40 -0700 Subject: [PATCH 05/42] Update troubleshooting.md Added resolvectl status and better labels --- panel/1.0/troubleshooting.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/panel/1.0/troubleshooting.md b/panel/1.0/troubleshooting.md index dd27af95..527a9619 100644 --- a/panel/1.0/troubleshooting.md +++ b/panel/1.0/troubleshooting.md @@ -124,8 +124,10 @@ 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 -# Systemd-Resolve +# Systemd-Resolve (Ubuntu 18.04 and 20.04) systemd-resolve --status" +# Resolve-CTL (Newer Version of Ubuntu) +resolvectl status # Network Manager nmcli dev show # Raw file locations that may have your host system's DNS Servers for various distributions From 9b720c50ef8b8c2d96b9f7fe88e22ac130fedf77 Mon Sep 17 00:00:00 2001 From: Loki <59907407+Loki-101@users.noreply.github.com> Date: Fri, 9 Jun 2023 18:23:18 -0700 Subject: [PATCH 06/42] Update troubleshooting.md --- panel/1.0/troubleshooting.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/panel/1.0/troubleshooting.md b/panel/1.0/troubleshooting.md index 527a9619..9db5ba94 100644 --- a/panel/1.0/troubleshooting.md +++ b/panel/1.0/troubleshooting.md @@ -124,12 +124,12 @@ 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 Version of Ubuntu) +# Resolve-CTL (Newer Versions of Ubuntu) resolvectl status -# Network Manager -nmcli dev show # Raw file locations that may have your host system's DNS Servers for various distributions /etc/resolv.conf /etc/network/interfaces From cddd051bbcfcbcaded137b3f5e638017d289f00e Mon Sep 17 00:00:00 2001 From: Vojtech Mares Date: Sun, 2 Jul 2023 13:31:15 +0200 Subject: [PATCH 07/42] Add guide on setting up Caddy as webserver and tutorial for using Caddy with Cloudflare DNS in proxy mode --- .snippets/webservers/Caddyfile | 56 +++++++++++++++++ .snippets/webservers/Caddyfile-nossl | 56 +++++++++++++++++ panel/1.0/webserver_configuration.md | 48 +++++++++++++++ tutorials/creating_ssl_certificates.md | 83 ++++++++++++++++++++++++++ 4 files changed, 243 insertions(+) create mode 100644 .snippets/webservers/Caddyfile create mode 100644 .snippets/webservers/Caddyfile-nossl diff --git a/.snippets/webservers/Caddyfile b/.snippets/webservers/Caddyfile new file mode 100644 index 00000000..7d4fc9ba --- /dev/null +++ b/.snippets/webservers/Caddyfile @@ -0,0 +1,56 @@ +{ + servers :443 { + timeouts { + read_body 120s + } + } +} + + { + 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 \n 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.app-access.log { + roll_size 100MiB + roll_keep_for 7d + } + level INFO + } + + log { + output file /var/log/caddy/pterodcatyl.app-error.log { + roll_size 100MiB + roll_keep_for 7d + } + level ERROR + } +} \ No newline at end of file diff --git a/.snippets/webservers/Caddyfile-nossl b/.snippets/webservers/Caddyfile-nossl new file mode 100644 index 00000000..0d985325 --- /dev/null +++ b/.snippets/webservers/Caddyfile-nossl @@ -0,0 +1,56 @@ +{ + servers :80 { + timeouts { + read_body 120s + } + } +} + +http:// { + 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 \n 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.app-access.log { + roll_size 100MiB + roll_keep_for 7d + } + level INFO + } + + log { + output file /var/log/caddy/pterodcatyl.app-error.log { + roll_size 100MiB + roll_keep_for 7d + } + level ERROR + } +} \ No newline at end of file diff --git a/panel/1.0/webserver_configuration.md b/panel/1.0/webserver_configuration.md index a74074cb..4a259b93 100644 --- a/panel/1.0/webserver_configuration.md +++ b/panel/1.0/webserver_configuration.md @@ -4,6 +4,10 @@ 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. ::: +::: 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. @@ -109,6 +113,50 @@ sudo a2enmod rewrite sudo systemctl restart apache2 ``` +::: +::: tab "Caddy With Automatic SSL" + +You should paste the contents of the file bellow, replacing `` with your domain name. + +The default config path is `/etc/caddy/Caddyfile`. + +<<< @/.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 validate configuration and restart Caddy. + +```bash +caddy validate --config /etc/caddy/Caddyfile + +systemctl restart caddy +``` + +::: +::: tab "Caddy Without SSL" + +You should paste the contents of the file bellow, replacing `` with your domain name. + +The default config path is `/etc/caddy/Caddyfile`. + +The only two differences are that we have prefixed the `` with `http://` (or you can use `:80` suffix behind the ``) and in the global config at `servers` directive, we have changed the port from `:443` to `:80`. + +<<< @/.snippets/webservers/Caddyfile-nossl{2,9} + +### Enabling Configuration + +The final step is to validate configuration and restart Caddy. + +```bash +caddy validate --config /etc/caddy/Caddyfile + +systemctl restart caddy +``` + ::: :::: diff --git a/tutorials/creating_ssl_certificates.md b/tutorials/creating_ssl_certificates.md index 6abce13f..308255d9 100644 --- a/tutorials/creating_ssl_certificates.md +++ b/tutorials/creating_ssl_certificates.md @@ -139,5 +139,88 @@ 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. + +```bash +# /etc/caddy/.secrets.env +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`): + +```unit{12} +# /etc/systemd/system/caddy.service +[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 `` block of your panel configuration: + +```caddyfile{5-7} +# /etc/caddy/Caddyfile + { + # ... + + tls { + dns cloudflare {env.CLOUDFLARE_API_TOKEN} + } +} +``` + ::: :::: From 884b1d4d108673eac2bec8c0664b8a40cdb25055 Mon Sep 17 00:00:00 2001 From: Loki <59907407+Loki-101@users.noreply.github.com> Date: Sun, 6 Aug 2023 18:58:26 -0700 Subject: [PATCH 08/42] Update to specify php 8.1 Fedora Server 38 came out and it uses 8.2 by default, so now we have to specify 8.1 when installing. --- community/installation-guides/panel/centos8.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/community/installation-guides/panel/centos8.md b/community/installation-guides/panel/centos8.md index 7858fa33..4347172c 100644 --- a/community/installation-guides/panel/centos8.md +++ b/community/installation-guides/panel/centos8.md @@ -29,8 +29,7 @@ systemctl enable mariadb ``` ### PHP 8.0 -We recommend the remi repo to get the latest php packages. -If on Fedora Server 37, skip the "Install Repos" step and instead install php-process with "dnf install php-process". Then, continue at the "Get dnf updates" step. +We recommend the remi repo to get the latest php packages. (Skip to next section if on Fedora 38) ```bash ## Install Repos @@ -45,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 install php:remi-8.1 +dnf install php81-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 From c728b309800d0670e7301ac3d0d058cd56e3a639 Mon Sep 17 00:00:00 2001 From: Loki <59907407+Loki-101@users.noreply.github.com> Date: Sun, 6 Aug 2023 18:59:01 -0700 Subject: [PATCH 09/42] Update centos8.md --- community/installation-guides/panel/centos8.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community/installation-guides/panel/centos8.md b/community/installation-guides/panel/centos8.md index 4347172c..f45258f6 100644 --- a/community/installation-guides/panel/centos8.md +++ b/community/installation-guides/panel/centos8.md @@ -1,4 +1,4 @@ -# CentOS 8, Rocky Linux 8, AlmaLinux 8, Fedora Server 37 +# 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]] From a16dd9b67bbc1383ae8a8ad6e77e077e085264b5 Mon Sep 17 00:00:00 2001 From: Loki <59907407+Loki-101@users.noreply.github.com> Date: Sun, 6 Aug 2023 19:54:07 -0700 Subject: [PATCH 10/42] Fix an earlier mistake --- community/installation-guides/panel/centos8.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/community/installation-guides/panel/centos8.md b/community/installation-guides/panel/centos8.md index f45258f6..14cab186 100644 --- a/community/installation-guides/panel/centos8.md +++ b/community/installation-guides/panel/centos8.md @@ -47,8 +47,8 @@ dnf install -y php php-{common,fpm,cli,json,mysqlnd,gd,mbstring,pdo,zip,bcmath,d ### 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 install php:remi-8.1 -dnf install php81-php-{common,fpm,cli,json,mysqlnd,gd,mbstring,pdo,zip,bcmath,dom,opcache,process} +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 From 08c04068576ab616c68584732c5300e49da06084 Mon Sep 17 00:00:00 2001 From: Vojtech Mares Date: Sat, 2 Sep 2023 08:01:20 +0200 Subject: [PATCH 11/42] style(caddy snippets): use spaces instead of tabs (4 wide) --- .snippets/webservers/Caddyfile | 84 ++++++++++++++-------------- .snippets/webservers/Caddyfile-nossl | 84 ++++++++++++++-------------- 2 files changed, 84 insertions(+), 84 deletions(-) diff --git a/.snippets/webservers/Caddyfile b/.snippets/webservers/Caddyfile index 7d4fc9ba..64c6eb42 100644 --- a/.snippets/webservers/Caddyfile +++ b/.snippets/webservers/Caddyfile @@ -1,56 +1,56 @@ { - servers :443 { - timeouts { - read_body 120s - } - } + servers :443 { + timeouts { + read_body 120s + } + } } { - root * /var/www/pterodactyl/public + root * /var/www/pterodactyl/public - file_server + file_server - php_fastcgi unix//run/php/php8.1-fpm.sock { - root /var/www/pterodactyl/public - index index.php + php_fastcgi unix//run/php/php8.1-fpm.sock { + root /var/www/pterodactyl/public + index index.php - env PHP_VALUE "upload_max_filesize = 100M \n post_max_size = 100M" - env HTTP_PROXY "" - # env HTTPS "on" + env PHP_VALUE "upload_max_filesize = 100M \n post_max_size = 100M" + env HTTP_PROXY "" + # env HTTPS "on" - read_timeout 300s - dial_timeout 300s - write_timeout 300s - } + 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" + 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 - } + request_body { + max_size 100m + } - respond /.ht* 403 + respond /.ht* 403 - log { - output file /var/log/caddy/pterodactyl.app-access.log { - roll_size 100MiB - roll_keep_for 7d - } - level INFO - } + log { + output file /var/log/caddy/pterodactyl.app-access.log { + roll_size 100MiB + roll_keep_for 7d + } + level INFO + } - log { - output file /var/log/caddy/pterodcatyl.app-error.log { - roll_size 100MiB - roll_keep_for 7d - } - level ERROR - } + log { + output file /var/log/caddy/pterodcatyl.app-error.log { + roll_size 100MiB + roll_keep_for 7d + } + level ERROR + } } \ No newline at end of file diff --git a/.snippets/webservers/Caddyfile-nossl b/.snippets/webservers/Caddyfile-nossl index 0d985325..a2877c31 100644 --- a/.snippets/webservers/Caddyfile-nossl +++ b/.snippets/webservers/Caddyfile-nossl @@ -1,56 +1,56 @@ { - servers :80 { - timeouts { - read_body 120s - } - } + servers :80 { + timeouts { + read_body 120s + } + } } http:// { - root * /var/www/pterodactyl/public + root * /var/www/pterodactyl/public - file_server + file_server - php_fastcgi unix//run/php/php8.1-fpm.sock { - root /var/www/pterodactyl/public - index index.php + php_fastcgi unix//run/php/php8.1-fpm.sock { + root /var/www/pterodactyl/public + index index.php - env PHP_VALUE "upload_max_filesize = 100M \n post_max_size = 100M" - env HTTP_PROXY "" - # env HTTPS "on" + env PHP_VALUE "upload_max_filesize = 100M \n post_max_size = 100M" + env HTTP_PROXY "" + # env HTTPS "on" - read_timeout 300s - dial_timeout 300s - write_timeout 300s - } + 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" + 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 - } + request_body { + max_size 100m + } - respond /.ht* 403 + respond /.ht* 403 - log { - output file /var/log/caddy/pterodactyl.app-access.log { - roll_size 100MiB - roll_keep_for 7d - } - level INFO - } + log { + output file /var/log/caddy/pterodactyl.app-access.log { + roll_size 100MiB + roll_keep_for 7d + } + level INFO + } - log { - output file /var/log/caddy/pterodcatyl.app-error.log { - roll_size 100MiB - roll_keep_for 7d - } - level ERROR - } + log { + output file /var/log/caddy/pterodcatyl.app-error.log { + roll_size 100MiB + roll_keep_for 7d + } + level ERROR + } } \ No newline at end of file From 0735c3dd65382b5db74946bb06c95558d1d12ce2 Mon Sep 17 00:00:00 2001 From: MaddDogg98 Date: Thu, 28 Sep 2023 22:54:57 -0400 Subject: [PATCH 12/42] fix(ssl): specify -p option in folder creation --- tutorials/creating_ssl_certificates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/creating_ssl_certificates.md b/tutorials/creating_ssl_certificates.md index ca596057..c1c8656b 100644 --- a/tutorials/creating_ssl_certificates.md +++ b/tutorials/creating_ssl_certificates.md @@ -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. From ce71df61a7cf0d81f136b9f87b9f395e471a7d60 Mon Sep 17 00:00:00 2001 From: Matthew Renze Date: Thu, 28 Sep 2023 21:56:32 -0500 Subject: [PATCH 13/42] Update creating_a_custom_egg.md (#544) Fix typo: redundant phrasing --- community/config/eggs/creating_a_custom_egg.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/community/config/eggs/creating_a_custom_egg.md b/community/config/eggs/creating_a_custom_egg.md index d29c23d1..7d4bd513 100644 --- a/community/config/eggs/creating_a_custom_egg.md +++ b/community/config/eggs/creating_a_custom_egg.md @@ -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. From 693ab30a9177d4df6b80ef234cf38399a152dbd8 Mon Sep 17 00:00:00 2001 From: MaddDogg98 Date: Fri, 29 Sep 2023 18:00:39 -0400 Subject: [PATCH 14/42] Update installing.md Updated some of the commands to include sudo. This is because on Ubuntu at least, systemctl needs this to update and reload, folder cannot be made without sudo etc --- wings/1.0/installing.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/wings/1.0/installing.md b/wings/1.0/installing.md index 096080ca..38b0feaf 100644 --- a/wings/1.0/installing.md +++ b/wings/1.0/installing.md @@ -76,7 +76,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 +105,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 From a86527b6503cf5935ddb3fea853eda4b3acba295 Mon Sep 17 00:00:00 2001 From: PadowYT2 Date: Tue, 3 Oct 2023 02:10:48 +0300 Subject: [PATCH 15/42] Use packages instead of scripts for installing NodeJS (#542) --- community/customization/panel.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/community/customization/panel.md b/community/customization/panel.md index 78856e0f..6f3402f6 100644 --- a/community/customization/panel.md +++ b/community/customization/panel.md @@ -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. From 489852aa8ead0561f12309cc51b052ba17234050 Mon Sep 17 00:00:00 2001 From: Quinten <67589015+QuintenQVD0@users.noreply.github.com> Date: Tue, 3 Oct 2023 01:13:12 +0200 Subject: [PATCH 16/42] Remote Ubuntu 18.04 from supported OS list (#532) --- panel/1.0/getting_started.md | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/panel/1.0/getting_started.md b/panel/1.0/getting_started.md index c8dc90e6..f86b28c4 100644 --- a/panel/1.0/getting_started.md +++ b/panel/1.0/getting_started.md @@ -25,10 +25,8 @@ 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: | | @@ -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 ``` From b53096af4036822c1cc538356cd2fdb9c2641962 Mon Sep 17 00:00:00 2001 From: Loki <59907407+Loki-101@users.noreply.github.com> Date: Sun, 15 Oct 2023 21:03:59 -0700 Subject: [PATCH 17/42] Update troubleshooting.md Not sure why there was a quote there, probably a fat-finger moment. --- panel/1.0/troubleshooting.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/panel/1.0/troubleshooting.md b/panel/1.0/troubleshooting.md index 9db5ba94..40724aa4 100644 --- a/panel/1.0/troubleshooting.md +++ b/panel/1.0/troubleshooting.md @@ -127,7 +127,7 @@ You can view what DNS Servers your host uses through a number of ways depending # 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" +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 From 8fd93ce2e829bf1ddb39de89fbea8af561d38870 Mon Sep 17 00:00:00 2001 From: Quinten <67589015+QuintenQVD0@users.noreply.github.com> Date: Tue, 17 Oct 2023 01:18:27 +0200 Subject: [PATCH 18/42] docs: Add Debian 12 to supported versions, remove Debian 10 (#552) --- .vuepress/config.js | 6 +- .../panel/{debian11.md => debian.md} | 6 +- .../installation-guides/panel/debian10.md | 118 ------------------ community/installation-guides/wings/debian.md | 5 + .../installation-guides/wings/debian10.md | 35 ------ .../installation-guides/wings/debian11.md | 5 - panel/1.0/getting_started.md | 4 +- wings/1.0/installing.md | 4 +- 8 files changed, 14 insertions(+), 169 deletions(-) rename community/installation-guides/panel/{debian11.md => debian.md} (92%) delete mode 100644 community/installation-guides/panel/debian10.md create mode 100644 community/installation-guides/wings/debian.md delete mode 100644 community/installation-guides/wings/debian10.md delete mode 100644 community/installation-guides/wings/debian11.md diff --git a/.vuepress/config.js b/.vuepress/config.js index e1206705..736bfcee 100644 --- a/.vuepress/config.js +++ b/.vuepress/config.js @@ -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', ] }, { diff --git a/community/installation-guides/panel/debian11.md b/community/installation-guides/panel/debian.md similarity index 92% rename from community/installation-guides/panel/debian11.md rename to community/installation-guides/panel/debian.md index 02f817cb..bbf06d1e 100644 --- a/community/installation-guides/panel/debian11.md +++ b/community/installation-guides/panel/debian.md @@ -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 diff --git a/community/installation-guides/panel/debian10.md b/community/installation-guides/panel/debian10.md deleted file mode 100644 index ab9771b8..00000000 --- a/community/installation-guides/panel/debian10.md +++ /dev/null @@ -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). diff --git a/community/installation-guides/wings/debian.md b/community/installation-guides/wings/debian.md new file mode 100644 index 00000000..a9ac6590 --- /dev/null +++ b/community/installation-guides/wings/debian.md @@ -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. diff --git a/community/installation-guides/wings/debian10.md b/community/installation-guides/wings/debian10.md deleted file mode 100644 index c055b731..00000000 --- a/community/installation-guides/wings/debian10.md +++ /dev/null @@ -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). diff --git a/community/installation-guides/wings/debian11.md b/community/installation-guides/wings/debian11.md deleted file mode 100644 index f2371037..00000000 --- a/community/installation-guides/wings/debian11.md +++ /dev/null @@ -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. diff --git a/panel/1.0/getting_started.md b/panel/1.0/getting_started.md index f86b28c4..a6082166 100644 --- a/panel/1.0/getting_started.md +++ b/panel/1.0/getting_started.md @@ -29,8 +29,8 @@ this software on an OpenVZ based system you will — most likely — not | | 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 diff --git a/wings/1.0/installing.md b/wings/1.0/installing.md index 38b0feaf..6a70243c 100644 --- a/wings/1.0/installing.md +++ b/wings/1.0/installing.md @@ -23,8 +23,8 @@ only the versions listed below. | | 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 From 3061cd497020e22b52b9c31186b3e7fad7c20e86 Mon Sep 17 00:00:00 2001 From: Vojtech Mares Date: Mon, 13 Nov 2023 11:47:52 +0100 Subject: [PATCH 19/42] style(creating_ssl_certificates.md): capitalize fist letter in numbered list --- tutorials/creating_ssl_certificates.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tutorials/creating_ssl_certificates.md b/tutorials/creating_ssl_certificates.md index 308255d9..814708fd 100644 --- a/tutorials/creating_ssl_certificates.md +++ b/tutorials/creating_ssl_certificates.md @@ -149,9 +149,9 @@ Caddy does not come by default with Cloudflare DNS plugin, you need to install i 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) +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 From 163c623f79a6289f3cdb2cf48aae72012863fe36 Mon Sep 17 00:00:00 2001 From: Vojtech Mares Date: Mon, 13 Nov 2023 11:49:12 +0100 Subject: [PATCH 20/42] fix(caddy): uncomment env HTTPS "on" --- .snippets/webservers/Caddyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.snippets/webservers/Caddyfile b/.snippets/webservers/Caddyfile index 64c6eb42..8a77be32 100644 --- a/.snippets/webservers/Caddyfile +++ b/.snippets/webservers/Caddyfile @@ -17,7 +17,7 @@ env PHP_VALUE "upload_max_filesize = 100M \n post_max_size = 100M" env HTTP_PROXY "" - # env HTTPS "on" + env HTTPS "on" read_timeout 300s dial_timeout 300s From f7751b04c2d7b4782c480f0914d55fd249ae1960 Mon Sep 17 00:00:00 2001 From: Vojtech Mares Date: Mon, 13 Nov 2023 11:52:17 +0100 Subject: [PATCH 21/42] fix(snippets/caddy): simplify logging --- .snippets/webservers/Caddyfile | 10 +--------- .snippets/webservers/Caddyfile-nossl | 10 +--------- 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/.snippets/webservers/Caddyfile b/.snippets/webservers/Caddyfile index 8a77be32..725edd85 100644 --- a/.snippets/webservers/Caddyfile +++ b/.snippets/webservers/Caddyfile @@ -39,18 +39,10 @@ respond /.ht* 403 log { - output file /var/log/caddy/pterodactyl.app-access.log { + output file /var/log/caddy/pterodactyl.log { roll_size 100MiB roll_keep_for 7d } level INFO } - - log { - output file /var/log/caddy/pterodcatyl.app-error.log { - roll_size 100MiB - roll_keep_for 7d - } - level ERROR - } } \ No newline at end of file diff --git a/.snippets/webservers/Caddyfile-nossl b/.snippets/webservers/Caddyfile-nossl index a2877c31..a41d9f20 100644 --- a/.snippets/webservers/Caddyfile-nossl +++ b/.snippets/webservers/Caddyfile-nossl @@ -39,18 +39,10 @@ http:// { respond /.ht* 403 log { - output file /var/log/caddy/pterodactyl.app-access.log { + output file /var/log/caddy/pterodactyl.log { roll_size 100MiB roll_keep_for 7d } level INFO } - - log { - output file /var/log/caddy/pterodcatyl.app-error.log { - roll_size 100MiB - roll_keep_for 7d - } - level ERROR - } } \ No newline at end of file From f32dee99dce3d5fce35a357b819cab2681989b8a Mon Sep 17 00:00:00 2001 From: Vojtech Mares Date: Mon, 13 Nov 2023 12:05:47 +0100 Subject: [PATCH 22/42] fix(snippets/caddy): explicit comment for disabling https --- .snippets/webservers/Caddyfile-nossl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.snippets/webservers/Caddyfile-nossl b/.snippets/webservers/Caddyfile-nossl index a41d9f20..a8cca6b6 100644 --- a/.snippets/webservers/Caddyfile-nossl +++ b/.snippets/webservers/Caddyfile-nossl @@ -17,7 +17,7 @@ http:// { env PHP_VALUE "upload_max_filesize = 100M \n post_max_size = 100M" env HTTP_PROXY "" - # env HTTPS "on" + # env HTTPS "on" # IMPORTANT: this is commented out, to disable HTTPS read_timeout 300s dial_timeout 300s From 9af02fab478e9818c612e8a0290f8d5e4bb44ee7 Mon Sep 17 00:00:00 2001 From: Vojtech Mares Date: Mon, 13 Nov 2023 12:06:12 +0100 Subject: [PATCH 23/42] refactor(panel/webserver_configuration.md): do not validate caddy, only restart the daemon --- panel/1.0/webserver_configuration.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/panel/1.0/webserver_configuration.md b/panel/1.0/webserver_configuration.md index 4a259b93..47e06b56 100644 --- a/panel/1.0/webserver_configuration.md +++ b/panel/1.0/webserver_configuration.md @@ -128,11 +128,9 @@ If you are using Cloudflare DNS in proxy mode, refer to [this tutorial](/tutoria ### Enabling Configuration -The final step is to validate configuration and restart Caddy. +The final step is to restart Caddy. ```bash -caddy validate --config /etc/caddy/Caddyfile - systemctl restart caddy ``` @@ -149,11 +147,9 @@ The only two differences are that we have prefixed the `` with `http://` ### Enabling Configuration -The final step is to validate configuration and restart Caddy. +The final step is to restart Caddy. ```bash -caddy validate --config /etc/caddy/Caddyfile - systemctl restart caddy ``` From 3c3601878a54f2f346ff2bebfda3fcd4927d29e0 Mon Sep 17 00:00:00 2001 From: Vojtech Mares Date: Mon, 13 Nov 2023 12:10:47 +0100 Subject: [PATCH 24/42] refactor(caddy): use :80 suffix for HTTP configuration --- .snippets/webservers/Caddyfile-nossl | 2 +- panel/1.0/webserver_configuration.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.snippets/webservers/Caddyfile-nossl b/.snippets/webservers/Caddyfile-nossl index a8cca6b6..1b796e0f 100644 --- a/.snippets/webservers/Caddyfile-nossl +++ b/.snippets/webservers/Caddyfile-nossl @@ -6,7 +6,7 @@ } } -http:// { +:80 { root * /var/www/pterodactyl/public file_server diff --git a/panel/1.0/webserver_configuration.md b/panel/1.0/webserver_configuration.md index 47e06b56..51d12ca5 100644 --- a/panel/1.0/webserver_configuration.md +++ b/panel/1.0/webserver_configuration.md @@ -141,7 +141,7 @@ You should paste the contents of the file bellow, replacing `` with your The default config path is `/etc/caddy/Caddyfile`. -The only two differences are that we have prefixed the `` with `http://` (or you can use `:80` suffix behind the ``) and in the global config at `servers` directive, we have changed the port from `:443` to `:80`. +The only two differences are that we have suffixed the `` with `:80` and in the global config at `servers` directive, we have changed the port from `:443` to `:80`. <<< @/.snippets/webservers/Caddyfile-nossl{2,9} From bad00b77427c46f3c150042bf3dd666fc503eaa8 Mon Sep 17 00:00:00 2001 From: Vojtech Mares Date: Tue, 28 Nov 2023 10:53:51 +0100 Subject: [PATCH 25/42] refactor(webserver_configuration.md): instruct user to delete default config --- panel/1.0/webserver_configuration.md | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/panel/1.0/webserver_configuration.md b/panel/1.0/webserver_configuration.md index 51d12ca5..e741e4dd 100644 --- a/panel/1.0/webserver_configuration.md +++ b/panel/1.0/webserver_configuration.md @@ -118,7 +118,15 @@ sudo systemctl restart apache2 You should paste the contents of the file bellow, replacing `` with your domain name. -The default config path is `/etc/caddy/Caddyfile`. +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 +``` + +Than continue with an editor of your choice to write the config. <<< @/.snippets/webservers/Caddyfile{9} @@ -139,7 +147,15 @@ systemctl restart caddy You should paste the contents of the file bellow, replacing `` with your domain name. -The default config path is `/etc/caddy/Caddyfile`. +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 +``` + +Than continue with an editor of your choice to write the config. The only two differences are that we have suffixed the `` with `:80` and in the global config at `servers` directive, we have changed the port from `:443` to `:80`. From 4c46daa798ef4954c3eb67779ee31583c180901f Mon Sep 17 00:00:00 2001 From: Vojtech Mares Date: Tue, 28 Nov 2023 11:45:03 +0100 Subject: [PATCH 26/42] refactor(webserver_configuration.md): remove highlight from server directive --- panel/1.0/webserver_configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/panel/1.0/webserver_configuration.md b/panel/1.0/webserver_configuration.md index e741e4dd..90c0e6a7 100644 --- a/panel/1.0/webserver_configuration.md +++ b/panel/1.0/webserver_configuration.md @@ -159,7 +159,7 @@ Than continue with an editor of your choice to write the config. The only two differences are that we have suffixed the `` with `:80` and in the global config at `servers` directive, we have changed the port from `:443` to `:80`. -<<< @/.snippets/webservers/Caddyfile-nossl{2,9} +<<< @/.snippets/webservers/Caddyfile-nossl{9} ### Enabling Configuration From 8ffb97d82cd722c985fe9d5ada1358c123983c48 Mon Sep 17 00:00:00 2001 From: Vojtech Mares Date: Tue, 28 Nov 2023 11:57:31 +0100 Subject: [PATCH 27/42] refactor(webserver_configuration.md): add extra `:` to tabs, for hierarchy - this was required to allow for `::: tip :::` inside a tab. Using only three colons resulted in formatting/rendering error --- panel/1.0/webserver_configuration.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/panel/1.0/webserver_configuration.md b/panel/1.0/webserver_configuration.md index 90c0e6a7..381be4a0 100644 --- a/panel/1.0/webserver_configuration.md +++ b/panel/1.0/webserver_configuration.md @@ -8,8 +8,8 @@ When using the SSL configuration you MUST create SSL certificates, otherwise you 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" +::::: tabs +:::: tab "Nginx With SSL" First, remove the default NGINX configuration. ``` bash @@ -33,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 @@ -58,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 @@ -86,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 @@ -113,8 +113,8 @@ sudo a2enmod rewrite sudo systemctl restart apache2 ``` -::: -::: tab "Caddy With Automatic SSL" +:::: +:::: tab "Caddy With Automatic SSL" You should paste the contents of the file bellow, replacing `` with your domain name. @@ -142,8 +142,8 @@ The final step is to restart Caddy. systemctl restart caddy ``` -::: -::: tab "Caddy Without SSL" +:::: +:::: tab "Caddy Without SSL" You should paste the contents of the file bellow, replacing `` with your domain name. @@ -169,7 +169,7 @@ The final step is to restart Caddy. systemctl restart caddy ``` -::: :::: +::::: #### Next Step: [Wings Installation](../../wings/installing.md) From 0c61c3c24c3c838d6a1f5ff9d9243a08a1bcb9aa Mon Sep 17 00:00:00 2001 From: Vojtech Mares Date: Wed, 29 Nov 2023 09:41:55 +0100 Subject: [PATCH 28/42] refactor(webserver_configuration.md): than -> then --- panel/1.0/webserver_configuration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/panel/1.0/webserver_configuration.md b/panel/1.0/webserver_configuration.md index 381be4a0..af23bafb 100644 --- a/panel/1.0/webserver_configuration.md +++ b/panel/1.0/webserver_configuration.md @@ -126,7 +126,7 @@ To delete the config file completely, run the following command: rm /etc/caddy/Caddyfile ``` -Than continue with an editor of your choice to write the config. +Then continue with an editor of your choice to write the config. <<< @/.snippets/webservers/Caddyfile{9} @@ -155,7 +155,7 @@ To delete the config file completely, run the following command: rm /etc/caddy/Caddyfile ``` -Than continue with an editor of your choice to write the config. +Then continue with an editor of your choice to write the config. The only two differences are that we have suffixed the `` with `:80` and in the global config at `servers` directive, we have changed the port from `:443` to `:80`. From 02510f064075d6e9491a9e31e902f00de7822a8c Mon Sep 17 00:00:00 2001 From: Vojtech Mares Date: Wed, 29 Nov 2023 09:42:21 +0100 Subject: [PATCH 29/42] refactor(webserver_configuration.md): move section describing how to change domain in caddy config after deleting default config --- panel/1.0/webserver_configuration.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/panel/1.0/webserver_configuration.md b/panel/1.0/webserver_configuration.md index af23bafb..2fb8e472 100644 --- a/panel/1.0/webserver_configuration.md +++ b/panel/1.0/webserver_configuration.md @@ -116,8 +116,6 @@ sudo systemctl restart apache2 :::: :::: tab "Caddy With Automatic SSL" -You should paste the contents of the file bellow, replacing `` with your domain name. - 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: @@ -128,6 +126,8 @@ rm /etc/caddy/Caddyfile Then continue with an editor of your choice to write the config. +You should paste the contents of the file bellow, replacing `` with your domain name. + <<< @/.snippets/webservers/Caddyfile{9} ::: tip @@ -145,8 +145,6 @@ systemctl restart caddy :::: :::: tab "Caddy Without SSL" -You should paste the contents of the file bellow, replacing `` with your domain name. - 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: @@ -157,6 +155,8 @@ rm /etc/caddy/Caddyfile Then continue with an editor of your choice to write the config. +You should paste the contents of the file bellow, replacing `` with your domain name. + The only two differences are that we have suffixed the `` with `:80` and in the global config at `servers` directive, we have changed the port from `:443` to `:80`. <<< @/.snippets/webservers/Caddyfile-nossl{9} From 432c6cd42a003ba8709931aa27c0fcd116474d96 Mon Sep 17 00:00:00 2001 From: Vojtech Mares Date: Wed, 29 Nov 2023 09:46:38 +0100 Subject: [PATCH 30/42] refactor(creating_ssl_certificates.md): move file path out of snippet --- tutorials/creating_ssl_certificates.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/tutorials/creating_ssl_certificates.md b/tutorials/creating_ssl_certificates.md index 814708fd..d381a171 100644 --- a/tutorials/creating_ssl_certificates.md +++ b/tutorials/creating_ssl_certificates.md @@ -167,8 +167,9 @@ After install Caddy with Cloudflare DNS plugin, we need to fetch a Cloudflare AP 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 -# /etc/caddy/.secrets.env CLOUDFLARE_API_TOKEN= ``` @@ -182,10 +183,9 @@ chown caddy:caddy /etc/caddy/.secrets.env 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`): +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} -# /etc/systemd/system/caddy.service [Unit] Description=Caddy Documentation=https://caddyserver.com/docs/ @@ -209,10 +209,9 @@ AmbientCapabilities=CAP_NET_BIND_SERVICE WantedBy=multi-user.target ``` -You can add a `tls` block to your `Caddyfile`, under the `` block of your panel configuration: +You can add a `tls` block to your `Caddyfile`, under the `` block of your panel configuration, the Caddy config file location is `/etc/caddy/Caddyfile`: ```caddyfile{5-7} -# /etc/caddy/Caddyfile { # ... From f1ab970cb8765557412fb5c74127e6b31d45377d Mon Sep 17 00:00:00 2001 From: Vojtech Mares Date: Wed, 29 Nov 2023 10:35:43 +0100 Subject: [PATCH 31/42] chore(webserver_configuration.md): remove whitespace (new line) after :::: tab --- panel/1.0/webserver_configuration.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/panel/1.0/webserver_configuration.md b/panel/1.0/webserver_configuration.md index 2fb8e472..57729147 100644 --- a/panel/1.0/webserver_configuration.md +++ b/panel/1.0/webserver_configuration.md @@ -115,7 +115,6 @@ 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: @@ -144,7 +143,6 @@ 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: From 29d1fe22a44cef19bf466f1ffcc9c2ef69a9c11f Mon Sep 17 00:00:00 2001 From: Matthew Penner Date: Fri, 29 Dec 2023 22:18:20 -0700 Subject: [PATCH 32/42] Update team members and sponsors --- project/about.md | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/project/about.md b/project/about.md index 535142e9..09433baf 100644 --- a/project/about.md +++ b/project/about.md @@ -4,14 +4,13 @@ ## 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 | +| [Lance Pioch](https://lancepioch.com/) | `shadowlancer` | Developer | Members of the project team have a red username in our Discord server. @@ -22,19 +21,14 @@ 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. | +| [**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! | +| [**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. | ## License From 10bf4f1416e48b27b239085bcf8facf7dfc6664b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vojt=C4=9Bch=20Mare=C5=A1?= Date: Tue, 2 Jan 2024 10:24:22 +0100 Subject: [PATCH 33/42] fix(webserver_configuration.md): typo --- panel/1.0/webserver_configuration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/panel/1.0/webserver_configuration.md b/panel/1.0/webserver_configuration.md index 57729147..35e0ebc5 100644 --- a/panel/1.0/webserver_configuration.md +++ b/panel/1.0/webserver_configuration.md @@ -125,7 +125,7 @@ rm /etc/caddy/Caddyfile Then continue with an editor of your choice to write the config. -You should paste the contents of the file bellow, replacing `` with your domain name. +You should paste the contents of the file below, replacing `` with your domain name. <<< @/.snippets/webservers/Caddyfile{9} @@ -153,7 +153,7 @@ rm /etc/caddy/Caddyfile Then continue with an editor of your choice to write the config. -You should paste the contents of the file bellow, replacing `` with your domain name. +You should paste the contents of the file below, replacing `` with your domain name. The only two differences are that we have suffixed the `` with `:80` and in the global config at `servers` directive, we have changed the port from `:443` to `:80`. From 0130cf7aef636a12092cefe1b412860099efd3a9 Mon Sep 17 00:00:00 2001 From: Lance Pioch Date: Wed, 31 Jan 2024 13:50:33 -0500 Subject: [PATCH 34/42] Update about.md --- project/about.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/about.md b/project/about.md index 09433baf..0c7a830c 100644 --- a/project/about.md +++ b/project/about.md @@ -10,7 +10,7 @@ | [Matthew Penner](https://matthewp.io/) | `matthewp` | Project Maintainer | | Stepan Fedotov | `trixter` | WHMCS Module Maintainer | | Michael Parker | `parkervcp` | Egg Developer, Docker Integration | -| [Lance Pioch](https://lancepioch.com/) | `shadowlancer` | Developer | +| [Lance Pioch](https://lancepioch.com) | `lance` | Panel Maintainer | Members of the project team have a red username in our Discord server. From 2cff4606d8ca9f8a88da88dd746cbdf2f8d91d12 Mon Sep 17 00:00:00 2001 From: Loki <59907407+Loki-101@users.noreply.github.com> Date: Thu, 8 Feb 2024 15:31:06 -0800 Subject: [PATCH 35/42] Update troubleshooting.md --- panel/1.0/troubleshooting.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/panel/1.0/troubleshooting.md b/panel/1.0/troubleshooting.md index 40724aa4..55eddbc0 100644 --- a/panel/1.0/troubleshooting.md +++ b/panel/1.0/troubleshooting.md @@ -118,7 +118,7 @@ audit2allow -a -M http_port_t semodule -i http_port_t.pp ``` -### Containers don't have internet? Probably a DNS issue! +## 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. @@ -136,6 +136,23 @@ resolvectl status ``` 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 - 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. From 406bd5a1faaddec35dfd56e6aa635c77026fdb54 Mon Sep 17 00:00:00 2001 From: Matthew Penner Date: Sat, 16 Mar 2024 14:03:23 -0600 Subject: [PATCH 36/42] Update project/about.md --- project/about.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/project/about.md b/project/about.md index 0c7a830c..b144a68e 100644 --- a/project/about.md +++ b/project/about.md @@ -23,12 +23,14 @@ members can be found in our Discord server and are distinguished with a yellow u The following companies help fund Pterodactyl's development. [Interested in becoming a sponsor?](https://github.com/sponsors/matthewpi) -| 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. | -| [**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! | -| [**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. | +| 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. | +| [**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! | +| [**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. | +| [**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. | ## License From dc9ddb6477a94e8e7625dbcfd04115551ffb8cc4 Mon Sep 17 00:00:00 2001 From: Daniel Barton Date: Sun, 28 Apr 2024 05:31:54 +0800 Subject: [PATCH 37/42] webservers(caddy): fix PHP_VALUE newlines (#575) --- .snippets/webservers/Caddyfile | 3 ++- .snippets/webservers/Caddyfile-nossl | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.snippets/webservers/Caddyfile b/.snippets/webservers/Caddyfile index 725edd85..0755b23c 100644 --- a/.snippets/webservers/Caddyfile +++ b/.snippets/webservers/Caddyfile @@ -15,7 +15,8 @@ root /var/www/pterodactyl/public index index.php - env PHP_VALUE "upload_max_filesize = 100M \n post_max_size = 100M" + env PHP_VALUE "upload_max_filesize = 100M + post_max_size = 100M" env HTTP_PROXY "" env HTTPS "on" diff --git a/.snippets/webservers/Caddyfile-nossl b/.snippets/webservers/Caddyfile-nossl index 1b796e0f..4762d034 100644 --- a/.snippets/webservers/Caddyfile-nossl +++ b/.snippets/webservers/Caddyfile-nossl @@ -15,7 +15,8 @@ root /var/www/pterodactyl/public index index.php - env PHP_VALUE "upload_max_filesize = 100M \n post_max_size = 100M" + 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 From cc2770a8a7661a9a1611338a003520be1eec7db4 Mon Sep 17 00:00:00 2001 From: Matthew Penner Date: Sat, 22 Jun 2024 19:25:10 -0600 Subject: [PATCH 38/42] Update project/about.md Signed-off-by: Matthew Penner --- project/about.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/project/about.md b/project/about.md index b144a68e..ac09fb7a 100644 --- a/project/about.md +++ b/project/about.md @@ -10,7 +10,6 @@ | [Matthew Penner](https://matthewp.io/) | `matthewp` | Project Maintainer | | Stepan Fedotov | `trixter` | WHMCS Module Maintainer | | Michael Parker | `parkervcp` | Egg Developer, Docker Integration | -| [Lance Pioch](https://lancepioch.com) | `lance` | Panel Maintainer | Members of the project team have a red username in our Discord server. @@ -23,20 +22,21 @@ members can be found in our Discord server and are distinguished with a yellow u The following companies help fund Pterodactyl's development. [Interested in becoming a sponsor?](https://github.com/sponsors/matthewpi) -| 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. | -| [**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! | -| [**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. | -| [**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. | +| 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 From 1c3c9f0dcd3bd68a41ae9704cb159eed508dfd47 Mon Sep 17 00:00:00 2001 From: Matthew Penner Date: Sat, 22 Jun 2024 19:26:00 -0600 Subject: [PATCH 39/42] ui: remove banner Signed-off-by: Matthew Penner --- .vuepress/theme/Layout.vue | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.vuepress/theme/Layout.vue b/.vuepress/theme/Layout.vue index 5ce4e23f..96e07bfb 100644 --- a/.vuepress/theme/Layout.vue +++ b/.vuepress/theme/Layout.vue @@ -1,14 +1,5 @@