diff --git a/blueprints/pyrodactyl/docker-compose.yml b/blueprints/pyrodactyl/docker-compose.yml new file mode 100644 index 0000000..9b7a481 --- /dev/null +++ b/blueprints/pyrodactyl/docker-compose.yml @@ -0,0 +1,50 @@ +services: + database: + image: mariadb:10.5 + restart: always + command: --default-authentication-plugin=mysql_native_password + volumes: + - "pterodb:/var/lib/mysql" + environment: + MYSQL_DATABASE: "panel" + MYSQL_USER: "pterodactyl" + MYSQL_PASSWORD: + MYSQL_ROOT_PASSWORD: + cache: + image: redis:alpine + restart: always + panel: + image: ghcr.io/pyrohost/pyrodactyl:main + restart: always + links: + - database + - cache + volumes: + - "pterovar:/app/var/" + - "pteronginx:/etc/nginx/http.d/" + - "pterocerts:/etc/letsencrypt/" + - "pterologs:/app/storage/logs" + environment: + APP_ENV: "production" + APP_ENVIRONMENT_ONLY: "false" + CACHE_DRIVER: + SESSION_DRIVER: + QUEUE_DRIVER: + REDIS_HOST: + DB_HOST: + DB_PORT: + MYSQL_PASSWORD: + MYSQL_ROOT_PASSWORD: + RECAPTCHA_ENABLED: +networks: + default: + ipam: + config: + - subnet: 172.20.0.0/16 + +volumes: + pterodb: + pterovar: + pteronginx: + pterocerts: + pterologs: diff --git a/blueprints/pyrodactyl/image.png b/blueprints/pyrodactyl/image.png new file mode 100644 index 0000000..50c98fd Binary files /dev/null and b/blueprints/pyrodactyl/image.png differ diff --git a/blueprints/pyrodactyl/template.toml b/blueprints/pyrodactyl/template.toml new file mode 100644 index 0000000..151f1f5 --- /dev/null +++ b/blueprints/pyrodactyl/template.toml @@ -0,0 +1,35 @@ +[variables] +main_domain = "${domain}" +db_password = "${password:32}" +db_root_password = "${password:32}" +secret_key = "${base64:48}" + +[config] +env = [ +"Domain=${main_domain}", +"RECAPTCHA_ENABLED=true", +"APP_URL={$main_domain}", +"APP_TIMEZONE=UTC", +"APP_SERVICE_AUTHOR=noreply@example.com", +"MAIL_FROM=noreply@example.com", +"MAIL_DRIVER=smtp", +"MAIL_HOST=mail", +"MAIL_PORT=1025", +"MAIL_USERNAME=", +"MAIL_PASSWORD=", +"MAIL_ENCRYPTION=true", +"MYSQL_PASSWORD=${db_password}", +"MYSQL_ROOT_PASSWORD=${db_root_password}", +"DB_PORT=3306", +"CACHE_DRIVER=redis", +"SESSION_DRIVER=redis", +"QUEUE_DRIVER=redis", +"REDIS_HOST=cache", +"DB_HOST=database", +] +mounts = [] + +[[config.domains]] +serviceName = "panel" +port = 80 +host = "${main_domain}" diff --git a/meta.json b/meta.json index c0f2a54..26810bc 100644 --- a/meta.json +++ b/meta.json @@ -807,6 +807,23 @@ "management" ] }, + { + "id": "pyrodactyl", + "name": "Pyrodactyl", + "version": "main", + "description": "Pyrodactyl is the Pterodactyl-based game server panel that's faster, smaller, safer, and more accessible than Pelican. ", + "logo": "pyrodactyl.png", + "links": { + "github": "https://github.com/pyrohost/pyrodactyl", + "website": "https://pyrodactyl.dev", + "docs": "https://pyrodactyl.dev/docs" + }, + "tags": [ + "self-hosted", + "open-source", + "management" + ] + }, { "id": "influxdb", "name": "InfluxDB",