- Full README with all CLI flags documented in tables - Quick install, automated install, panel+wings, wings-only examples - Cloudflare Worker: serves install.sh for curl, landing page for browsers - Landing page with dark theme, click-to-copy, feature grid
6.2 KiB
6.2 KiB
🐦 Pelican Installer
The best way to install Pelican Panel & Wings — one command, fully automated.
Better than the pterodactyl-installer. Every option configurable via CLI flags, full web server configs, Redis support, auto admin creation, and more.
Quick Install
curl -sSL https://install.jarviscli.dev | sudo bash
Or directly from GitHub:
curl -sSL https://raw.githubusercontent.com/everestmcarthur/pelican-installer/main/install.sh | sudo bash
Fully Automated Install (Non-Interactive)
curl -sSL https://install.jarviscli.dev | sudo bash -s -- install \
--panel \
--domain panel.example.com \
--webserver nginx \
--database postgres \
--ssl --email you@example.com \
--cache-driver redis \
--session-driver redis \
--queue-driver redis \
--admin-email admin@example.com \
--admin-user admin \
--admin-pass S3cureP@ss \
--timezone America/New_York \
-y
Panel + Wings (Same Machine)
curl -sSL https://install.jarviscli.dev | sudo bash -s -- install \
--both \
--domain panel.example.com \
--wings-domain node.example.com \
--wings-proxy --wings-ssl \
--webserver nginx \
--database postgres \
--ssl --email you@example.com \
-y
Wings Only (With Reverse Proxy)
curl -sSL https://install.jarviscli.dev | sudo bash -s -- install \
--wings \
--wings-domain node.example.com \
--wings-proxy \
--webserver caddy \
-y
Update & Uninstall
# Update everything
sudo bash install.sh update --both -y
# Uninstall
sudo bash install.sh uninstall
All CLI Flags
Components
| Flag | Description |
|---|---|
--panel |
Install Panel |
--wings |
Install Wings |
--both |
Install Panel + Wings |
Panel — General
| Flag | Description | Default |
|---|---|---|
--domain FQDN |
Panel domain name | (required) |
--app-name NAME |
Application name | Pelican |
--webserver WS |
nginx, apache, or caddy |
(asked) |
--ssl |
Enable SSL via Let's Encrypt | (asked) |
--no-ssl |
Disable SSL | |
--email EMAIL |
Let's Encrypt email | (asked if SSL) |
--timezone TZ |
Timezone | UTC |
Panel — Admin User (Skip Web Installer)
| Flag | Description |
|---|---|
--admin-email EMAIL |
Admin email |
--admin-user USER |
Admin username |
--admin-pass PASS |
Admin password |
If all three are provided, the admin user is created automatically and the web installer is skipped entirely.
Panel — Database
| Flag | Description | Default |
|---|---|---|
--database DB |
sqlite, mysql, mariadb, postgres |
(asked) |
--db-host HOST |
Database host | 127.0.0.1 |
--db-port PORT |
Database port | auto-detected |
--db-name NAME |
Database name | pelican |
--db-user USER |
Database user | pelican |
--db-password PASS |
Database password | auto-generated |
Panel — Cache
| Flag | Description | Default |
|---|---|---|
--cache-driver DRV |
file or redis |
file |
--redis-host HOST |
Redis host | 127.0.0.1 |
--redis-port PORT |
Redis port | 6379 |
--redis-user USER |
Redis username (ACL) | |
--redis-password PW |
Redis password |
When using Redis + localhost, Redis server is auto-installed.
Panel — Session
| Flag | Description | Default |
|---|---|---|
--session-driver DRV |
file, database, cookie, redis |
file |
Panel — Queue
| Flag | Description | Default |
|---|---|---|
--queue-driver DRV |
database, redis, sync |
database |
Wings
| Flag | Description | Default |
|---|---|---|
--wings-domain FQDN |
Wings node domain | |
--wings-port PORT |
Wings daemon port | 8080 |
--wings-proxy |
Set up reverse proxy | |
--wings-ssl |
SSL for Wings proxy |
General
| Flag | Description |
|---|---|
--yes, -y |
Skip all confirmation prompts |
--help, -h |
Show help |
Features
- Interactive & Non-Interactive — Full wizard for beginners, CLI flags for automation
- 3 Web Servers — Nginx, Apache, Caddy (with auto-SSL)
- 4 Databases — SQLite, MySQL, MariaDB, PostgreSQL
- Redis Everything — Cache, session, and queue with auto-install
- Wings Reverse Proxy — Full config with WebSocket support for console/file manager on all 3 web servers
- Auto Admin User — Skip the web installer entirely
- SSL Everywhere — Let's Encrypt for Panel + Wings in one pass
- Health Checks — Verifies PHP, web server, database, Redis, .env, HTTP response
- Update & Uninstall — Built-in commands for lifecycle management
- ARM64 Support — Works on x86_64 and ARM machines
- Progress Indicators — Step counter, spinners, color-coded output
- Credential Boxes — Database password, APP_KEY, admin creds displayed clearly
- Comprehensive Logging — Everything logged to
/var/log/pelican-installer.log
Supported Operating Systems
- Ubuntu 20.04, 22.04, 24.04
- Debian 11, 12
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- CentOS Stream 8, 9
- RHEL 8, 9
What It Does
Panel Install
- Detects OS and architecture
- Runs preflight checks (root, memory, disk, tools)
- Installs PHP 8.2/8.3/8.4 with all required extensions
- Installs Redis (if selected for cache/session/queue)
- Installs and configures your chosen database
- Installs and configures your chosen web server
- Obtains SSL certificates (if enabled)
- Downloads Pelican Panel + Composer dependencies
- Writes full
.envconfiguration (no web installer needed) - Runs database migrations and seeders
- Creates admin user (if credentials provided)
- Sets up queue worker systemd service
- Configures cron job for scheduled tasks
- Runs health checks
Wings Install
- Installs Docker CE
- Downloads Wings binary for your architecture
- Creates systemd service
- Configures reverse proxy (if selected)
License
GPL-3.0 — see LICENSE.
Credits
Built for JarvisCLI by the Pelican Installer team.
Pelican Panel is created by pelican-dev and is licensed under AGPL-3.0.