Files
wiki/content/projects/Pterodactyl/index.md

72 lines
2.4 KiB
Markdown

---
title: pterodactyl
description: pterodactyl
author: wompmacho
date: 2024-05-04T20:00:25.298Z
lastmod: 2025-02-08
showHero: false # needed to hide "hero banner"
---
## What is Pterodactyl?
[Pterodactyl](https://pterodactyl.io/) is a free, open-source game server management panel built with PHP,
React, and Go. Designed with security in mind, Pterodactyl runs all game servers
in isolated Docker containers while exposing a beautiful and intuitive UI to end
users.
## pterodactyl & ssl
ssl with pterodactyl is really annoying if you are using it behind a reverse
proxy (nginx) - might be easier to run this on its own server so you can just
use the default port 80 for web. reverse proxy is designed for normal web
traffic, not game servers.
If you are annoying like me and wanna put things on a single server and save
money... here is what you can do.
- [Creating SSL
Certificates](https://pterodactyl.io/tutorials/creating_ssl_certificates.html#method-2:-acme.sh-(using-cloudflare-api))
- [Youtube Guide](https://www.youtube.com/watch?v=cbr8tddvAWw)
- [Webserver
Configuration](https://pterodactyl.io/panel/1.0/webserver_configuration.html#nginx-with-ssl)
- [NGINX Specific
Configuration](https://pterodactyl.io/panel/1.0/additional_configuration.html#nginx-specific-configuration)
```bash
https://pterodactyl.io/panel/0.7/configuration.html
# idk... couldn't get it to work
# OpenSSL Self-Signed Certificate Command:
openssl req -sha256 -addext "subjectAltName = DNS:games.local" -newkey rsa:4096 -nodes -keyout privkeyselfsigned.pem -x509 -days 3650 -out fullchainselfsigned.pem
# nginx-proxy-manager with cloudflare ssl cert setup
# proxy side should be http
# do not force ssl on cert side
# go to http after getting to the site
# .env file
/var/www/pterodactyl/.env
APP_URL="http://domain"
TRUSTED_PROXIES=*
# you don't have to do this - i'd rather not
PTERODACTYL_TELEMETRY_ENABLED=false
RECAPTCHA_ENABLED=false
# config.yml
/etc/pterodactyl/config.yml
# use auto config remote: http:
# nginx pterodactyl.conf
/etc/nginx/sites-enabled/pterodactyl.conf
# add to proxy-manager special settings
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_buffering off;
proxy_request_buffering off;
sudo systemctl restart nginx && systemctl restart wings
```