🐦 The best way to install Pelican Panel & Wings — better than pterodactyl-installer.se
Find a file
Pelican Installer Bot 9e4d1bf0c6 v2.0.0: complete rewrite — fixes all bugs, adds CLI flags
CRITICAL FIXES:
- Actually writes DB credentials to .env (was missing entirely!)
- Runs 'php artisan migrate --seed --force' on fresh install
- Configures pg_hba.conf for PostgreSQL password auth over TCP
- Uses chmod 775 (not 755) on storage directories
- Generates APP_KEY via 'php artisan key:generate'
- Creates storage subdirectories before setting permissions
- Sets PHP-FPM pool user to match web server user

NEW FEATURES:
- Full CLI flag support (--panel, --wings, --domain, --database, etc.)
- Environment variable overrides for all settings
- Non-interactive mode (--yes / -y) for fully automated installs
- Step progress indicator [X/Y] throughout install
- Database credentials displayed in visible green box
- APP_KEY shown in red warning box
- Input validation for FQDN
- Interactive DB credential customization
- HTTP connectivity health check
- Artisan CLI health check
- Smart defaults (auto-detect DB port, auto-generate passwords)

UI IMPROVEMENTS:
- Menus start at [1] instead of [0]
- Credential boxes use visible colored borders
- help text with usage examples
- Cleaner step/section separators
2026-05-17 11:53:42 +00:00
install.sh v2.0.0: complete rewrite — fixes all bugs, adds CLI flags 2026-05-17 11:53:42 +00:00
README.md v2.0.0: complete rewrite — fixes all bugs, adds CLI flags 2026-05-17 11:53:42 +00:00

🐦 Pelican Installer

The best way to install Pelican Panel & Wings — one script, fully automated, production-ready.

Quick Start

# Interactive install (asks you everything)
sudo bash <(curl -sSL https://raw.githubusercontent.com/everestmcarthur/pelican-installer/main/install.sh)

# Or download first
curl -sSL -o install.sh https://raw.githubusercontent.com/everestmcarthur/pelican-installer/main/install.sh
sudo bash install.sh

Automated Install (No Prompts)

# Panel with Nginx + PostgreSQL + SSL
sudo bash install.sh install --panel \
    --domain panel.example.com \
    --webserver nginx \
    --database postgres \
    --ssl --email admin@example.com \
    --timezone America/New_York \
    -y

# Wings only
sudo bash install.sh install --wings -y

# Panel + Wings on same machine
sudo bash install.sh install --both \
    --domain panel.example.com \
    --webserver caddy \
    --database postgres \
    -y

All CLI Flags

Flag Description Default
install / update / uninstall Action to perform install
--panel Install/update Panel —
--wings Install/update Wings —
--both Install/update Panel + Wings —
--domain FQDN Panel domain name (asked)
--webserver WS nginx, apache, or caddy (asked)
--database DB sqlite, mysql, mariadb, or postgres (asked)
--db-host HOST Database host 127.0.0.1
--db-port PORT Database port auto from DB type
--db-name NAME Database name pelican
--db-user USER Database user pelican
--db-password PASS Database password auto-generated
--ssl Enable SSL via Let's Encrypt (asked)
--no-ssl Disable SSL —
--email EMAIL Email for Let's Encrypt (asked if --ssl)
--timezone TZ Server timezone UTC
--yes, -y Skip all confirmation prompts false

Environment Variables

Every flag can also be set via environment variable:

export FQDN="panel.example.com"
export WEBSERVER="nginx"
export DB_CHOICE="postgres"
export DB_PASSWORD="my_secure_password"
export CONFIGURE_SSL=true
export EMAIL="admin@example.com"
export ASSUME_YES=true
sudo -E bash install.sh install --panel

Features

Feature This Installer pterodactyl-installer.se
Pelican Panel support ✅ ❌ (Pterodactyl only)
Full CLI flags (automated installs) ✅ ❌
Environment variable config ✅ ❌
Nginx ✅ ✅
Apache ✅ ✅
Caddy (auto-SSL) ✅ ❌
SQLite ✅ ❌
MySQL ✅ ✅
MariaDB ✅ ✅
PostgreSQL ✅ ❌
Auto-configures .env ✅ ❌
Runs database migrations ✅ ❌
PostgreSQL pg_hba.conf auth ✅ ❌
Writes DB password to .env ✅ ❌
Let's Encrypt SSL ✅ ✅
Post-install health checks ✅ ❌
HTTP connectivity check ✅ ❌
Queue worker systemd service ✅ ❌
Cron auto-setup ✅ ❌
Step-by-step progress (X/Y) ✅ ❌
Update command ✅ ❌
Uninstall command ✅ ❌
ARM64 support ✅ ❌
Comprehensive logging ✅ ❌
Single script (no deps) ✅ ✅

Update & Uninstall

# Update panel
sudo bash install.sh update --panel

# Update wings
sudo bash install.sh update --wings

# Update both
sudo bash install.sh update --both -y

# Uninstall (interactive)
sudo bash install.sh uninstall

Supported Systems

OS Versions
Ubuntu 22.04, 24.04
Debian 11, 12
AlmaLinux 8, 9
Rocky Linux 8, 9
CentOS Stream 9

Both x86_64 and ARM64 architectures supported.

Logs

All installer output is logged to /var/log/pelican-installer.log.

tail -f /var/log/pelican-installer.log

License

GPL-3.0 — See LICENSE