🐦 The best way to install Pelican Panel & Wings — better than pterodactyl-installer.se
Find a file
Pelican Installer Bot cbc8ee39ff v2.1.0: all /installer options as CLI flags, Wings reverse proxy, Redis, admin user
NEW — Every /installer wizard field is now a CLI flag:
  --cache-driver (file|redis)
  --redis-host, --redis-port, --redis-user, --redis-password
  --session-driver (file|database|cookie|redis)
  --queue-driver (database|redis|sync)
  --app-name
  --admin-email, --admin-user, --admin-pass (skip web installer entirely)

NEW — Redis auto-install:
  When cache/session/queue uses redis + host is localhost → installs redis-server
  Configures redis password if provided
  Installs php-redis extension alongside other PHP extensions

NEW — Wings reverse proxy for all 3 web servers:
  --wings-domain, --wings-port, --wings-proxy, --wings-ssl
  Nginx: full config with websocket upgrade for console/file manager
  Apache: mod_proxy + mod_proxy_wstunnel + RewriteEngine for WS
  Caddy: reverse_proxy with flush_interval -1 for websockets
  SSL certs obtained for both panel + wings domains in one pass
  Post-install instructions tell user to set api.ssl.enabled: false

NEW — Admin user auto-creation:
  If --admin-email/user/pass are all set, creates user via artisan tinker
  Sets APP_INSTALLED=true so /installer redirects to dashboard
  Shows admin credentials in green box

IMPROVED — Interactive menus now ask for all options:
  App name, cache driver, session driver, queue driver
  Redis connection details when redis is selected
  Wings proxy setup during wings install
  Admin user creation (optional, can still use web installer)

Health checks now verify: CACHE_STORE, SESSION_DRIVER, QUEUE_CONNECTION in .env
Health checks now verify: Redis running (when redis driver selected)
2026-05-17 12:24:58 +00:00
install.sh v2.1.0: all /installer options as CLI flags, Wings reverse proxy, Redis, admin user 2026-05-17 12:24:58 +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