Saltar a contenido

Pelican Panel

Panel de administración para servidores de juegos (fork de Pterodactyl).

Estado actual

  • Subdominio: pelican.matias7235.com.ar
  • PHP-FPM: php8.3-fpm (socket /run/php/php8.3-fpm.sock)
  • Caddy: container Docker con network_mode: host
  • Instalación: manual en el host (no Docker), en /var/www/pelican

Configuración de Caddy

El compose.yaml de Caddy (/opt/docker/cady/compose.yaml) ya monta los volúmenes necesarios:

volumes:
  - /run/php:/run/php:ro           # socket PHP-FPM del host
  - /var/www/pelican:/var/www/pelican:ro  # archivos del panel

Bloque en /opt/docker/cady/Caddyfile:

{
    servers :443 {
        timeouts {
            read_body 120s
        }
    }
}

pelican.matias7235.com.ar {
    root * /var/www/pelican/public

    file_server

    php_fastcgi unix//run/php/php8.3-fpm.sock {
        root /var/www/pelican/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/pelican.log {
            roll_size 100MiB
            roll_keep_for 7d
        }
        level INFO
    }
}

Dependencias del sistema

sudo apt install php8.3 php8.3-fpm php8.3-{gd,mysql,mbstring,bcmath,xml,curl,zip,intl,sqlite3}

Instalación

Basado en documentación oficial.

sudo mkdir -p /var/www/pelican
cd /var/www/pelican
curl -L https://github.com/pelican-dev/panel/releases/latest/download/panel.tar.gz | sudo tar -xzv
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
sudo COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --optimize-autoloader

Setup del panel

cd /var/www/pelican
sudo php artisan p:environment:setup
sudo chmod -R 755 storage/* bootstrap/cache/
sudo chown -R www-data:www-data /var/www/pelican

Luego acceder a https://pelican.matias7235.com.ar/installer para completar vía web.

Wings

Subdominio: wings.matias7235.com.arlocalhost:8525 Puerto registrado: 8525 (nextport)

Instalación

sudo mkdir -p /etc/pelican /var/run/wings
sudo curl -L -o /usr/local/bin/wings "https://github.com/pelican-dev/wings/releases/latest/download/wings_linux_$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")"
sudo chmod u+x /usr/local/bin/wings

Configuración

  1. Crear nodo en Admin → Nodes → Create New
  2. FQDN: wings.matias7235.com.ar
  3. Communication port: 443 (detrás de Caddy)
  4. SSL + Behind Proxy: ambos marcados
  5. RAM: 18432 MB, CPU: 600%
  6. Copiar YAML de la pestaña Configuration del nodo a /etc/pelican/config.yml
  7. Agregar opts opcionales al config:
docker:
  container_pid_limit: 1024
  installer_limits:
    memory: 2048
    cpu: 100
crash_detection:
  detect_clean_exit_as_crash: false
system:
  check_permissions_on_boot: false
  1. Probar: sudo wings --debug
  2. Instalar como servicio systemd en /etc/systemd/system/wings.service

Caddyfile

wings.matias7235.com.ar {
    reverse_proxy localhost:8525
}

Referencias