View .md

Panel CLI reference

All 14 FeatherPanel panel CLI commands with their subcommands, arguments and global flags, and how to run them on Docker and source installs.

Last synced from FeatherPanel 15b94e9 on .

On this page

Running commands

The panel ships a PHP command-line tool. How you call it depends on how the panel is installed:

InstallCommand
Installer (Docker or source)featherpanel <command>
Docker, without the wrapperdocker exec -it featherpanel_backend php cli <command>
Source installphp /var/www/featherpanel/app <command> or cd /var/www/featherpanel/backend && php cli <command>
All-in-one imagedocker exec -it <container> php cli <command> (run from the backend directory)

The installer writes /usr/local/bin/featherpanel. It reads /var/www/featherpanel/.install_mode(docker or source) and either runs docker exec intofeatherpanel_backend or runs the source entry point. featherpanel run-script downloads and runs the installer again.

Global flags

FlagEffect
--skip-path-checkSkip CWD validation. Required in CI and some container contexts where cwd is not /var/www/featherpanel or /var/www/html.
--no-colorsDisable Minecraft-style color codes in CLI output.
--clean-outputStrip decorative formatting for machine-friendly output.
--no-prefixOmit the [FeatherPanel] prefix on each output line.

Commands

cron

Runs the due cron jobs once. The container and the source install call it every minute; you rarely run it by hand. See Cron and workers.

featherpanel cron

Source: backend/app/Cli/Commands/Cron.php

developer

Development helper. Not needed on production panels.

featherpanel developer
SubcommandDescription
developer startStart the developer server and VS Code Tunnel
developer stopStop the developer server and VS Code Tunnel
developer statusCheck if the developer server is running
developer logs [lines]Show VS Code Tunnel logs

Source: backend/app/Cli/Commands/Developer.php

help

Lists every command.

featherpanel help

Source: backend/app/Cli/Commands/Help.php

logs

Uploads the panel web and app logs to MythicalSystems Paste and prints the links, so you can share them with support. Review what you share.

featherpanel logs

Source: backend/app/Cli/Commands/Logs.php

migrate

Applies pending database migrations. Updates run this for you.

featherpanel migrate

Source: backend/app/Cli/Commands/Migrate.php

module

Optional bundled modules. The only module currently defined is pma (phpMyAdmin).

featherpanel module
SubcommandDescription
module install <module>Install a module
module ensure <module>Reinstall a module if its install marker exists but files are missing
module listList available and installed modules
module uninstall <module>Uninstall a module

Source: backend/app/Cli/Commands/Module.php

rebuild

Drops every table in the panel database after you type yes. All data is lost. Use only on a fresh or test install.

featherpanel rebuild

Source: backend/app/Cli/Commands/Rebuild.php

saas

Non-interactive admin helpers meant for scripts and automation.

featherpanel saas
SubcommandDescription
saas createuser <username> <email> <firstName> <lastName> <password> [roleId]Create a new user
saas deleteuser <uuid|username|email>Delete a user
saas updateuser <uuid|username|email> <field> <value>Update a user field
saas banuser <uuid|username|email>Ban a user
saas unbanuser <uuid|username|email>Unban a user
saas resetpassword <uuid|username|email> <newPassword>Reset user password
saas userinfo <uuid|username|email>Get user information
saas listusers [limit] [search]List users
saas setsetting <key> <value>Set a configuration setting
saas getsetting <key>Get a configuration setting
saas listsettingsList all configurable settings

Source: backend/app/Cli/Commands/Saas.php

seedWebPlates

Inserts or updates the bundled WebPlate templates (static, PHP, Node, Python) used by WebSpaces.

featherpanel seedWebPlates

Source: backend/app/Cli/Commands/SeedWebPlates.php

settings

Interactive, menu-driven settings editor in the terminal.

featherpanel settings

Source: backend/app/Cli/Commands/Settings.php

setup

Interactive first-time setup: asks for the database connection, writes the .env file and generates the encryption key. The Docker images do this for you.

featherpanel setup

Source: backend/app/Cli/Commands/Setup.php

snapshots

Database snapshots (SQL dumps) managed by the panel. restore asks for confirmation unless you pass -y.

featherpanel snapshots
SubcommandDescription
snapshots listList all available database snapshots
snapshots createCreate a new database snapshot
snapshots download <filename>Download a snapshot file
snapshots restore <filename> [-y]Restore database from a snapshot
snapshots delete <filename>Delete a snapshot file

Source: backend/app/Cli/Commands/Snapshots.php

testAsyncRunner

Checks the Redis connection and lists the featherpanel:* pub/sub channels the async runner is subscribed to. The command description in the code says "Test mail sending", which does not match what it does.

featherpanel testAsyncRunner

Source: backend/app/Cli/Commands/TestAsyncRunner.php

users

Interactive user manager in the terminal.

featherpanel users

Source: backend/app/Cli/Commands/Users.php

Common tasks

# Create an admin when the installer did not (role 4 = Administrator)
featherpanel saas createuser admin [email protected] Ada Admin 'S3cure-Passw0rd' 4

# Promote an existing account to Administrator
featherpanel saas updateuser admin role_id 4

# Reset a forgotten password
featherpanel saas resetpassword admin 'N3w-Passw0rd'

# Script a setting (keys are the snake_case names from the settings reference)
featherpanel saas setsetting app_name "My Hosting"

# Take a database snapshot before an upgrade
featherpanel snapshots create

See the settings reference for valid keys.