Artisan Commands
This is very much a WIP! Many Many commands, Layout might change.
Updated: 01/11/2026
Panel Information
Displays the application, database, email and backup configurations along with the panel version.
php artisan p:info
User Commands
Create a User
Creates a user on the system via the CLI.
php artisan p:user:make [options]
Options:
--email[=EMAIL]
--username[=USERNAME]
--password[=PASSWORD]
--admin[=ADMIN]
--no-password
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Delete a User
Deletes a user from the Panel if no servers are attached to their account.
php artisan p:user:delete [options]
Options:
--user[=USER]
-q, --quiet Do not output any message
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Disable 2fa for a single User
Disable two-factor authentication for a specific user in the Panel.
php artisan p:user:disable2fa [options]
Options:
--email[=EMAIL] The email of the user to disable 2-Factor for.
-q, --quiet Do not output any message
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Node Commands
Create a Node
Creates a new node on the system via the CLI.
php artisan p:node:make [options]
Options:
--name[=NAME] A name to identify the node.
--description[=DESCRIPTION] A description to identify the node.
--locationId[=LOCATIONID] A valid locationId.
--fqdn[=FQDN] The domain name (e.g node.example.com) to be used for connecting to the daemon. An IP address may only be used if you are not using SSL for this node.
--public[=PUBLIC] Should the node be public or private? (public=1 / private=0).
--scheme[=SCHEME] Which scheme should be used? (Enable SSL=https / Disable SSL=http).
--proxy[=PROXY] Is the daemon behind a proxy? (Yes=1 / No=0).
--maintenance[=MAINTENANCE] Should maintenance mode be enabled? (Enable Maintenance mode=1 / Disable Maintenance mode=0).
--maxMemory[=MAXMEMORY] Set the max memory amount.
--overallocateMemory[=OVERALLOCATEMEMORY] Enter the amount of ram to overallocate (% or -1 to overallocate the maximum).
--maxDisk[=MAXDISK] Set the max disk amount.
--overallocateDisk[=OVERALLOCATEDISK] Enter the amount of disk to overallocate (% or -1 to overallocate the maximum).
--maxCpu[=MAXCPU] Set the max cpu amount.
--overallocateCpu[=OVERALLOCATECPU] Enter the amount of cpu to overallocate (% or -1 to overallocate the maximum).
--uploadSize[=UPLOADSIZE] Enter the maximum upload filesize.
--daemonListeningPort[=DAEMONLISTENINGPORT] Enter the daemon listening port.
--daemonConnectingPort[=DAEMONCONNECTINGPORT] Enter the daemon connecting port.
--daemonSFTPPort[=DAEMONSFTPPORT] Enter the daemon SFTP listening port.
--daemonSFTPAlias[=DAEMONSFTPALIAS] Enter the daemon SFTP alias.
--daemonBase[=DAEMONBASE] Enter the base folder.
-q, --quiet Do not output any message
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
List Nodes
Lists all nodes with their ID, UUID, name and host.
php artisan p:node:list [options]
Options:
--format[=FORMAT] The output format: "text" or "json". [default: "text"]
-q, --quiet Do not output any message
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Node Configuration
Displays the Wings configuration for the specified node.
php artisan p:node:configuration [options] <node>
Arguments:
node The ID or UUID of the node to return the configuration for.
Options:
--format[=FORMAT] The output format. Options are "yaml" and "json". [default: "yaml"]
-q, --quiet Do not output any message
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Server Commands
Bulk Power Actions
Perform bulk power management on large groupings of servers or nodes at once.
php artisan p:server:bulk-power [options] <action>
Arguments:
action The action to perform (start, stop, restart, kill)
Options:
--servers[=SERVERS] A comma separated list of servers.
--nodes[=NODES] A comma separated list of nodes.
-q, --quiet Do not output any message
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Process Schedules
Process schedules in the database and determine which are ready to run. This runs every minute via the scheduler.
php artisan p:schedule:process
Egg Commands
Check for Egg Updates
Compares each egg against its update URL and reports whether it is up to date. Eggs without an update URL are skipped. This runs daily via the scheduler.
php artisan p:egg:check-updates
Update Egg Index
Refreshes the cached index of available eggs from the Pelican CDN. This runs daily via the scheduler.
php artisan p:egg:update-index
Normalize an Egg
Upgrades an egg json/yaml file to the latest format as yaml.
php artisan p:egg:normalize [options] <file>
Arguments:
file Path to the egg json/yaml file.
Options:
--delete-original Delete the original file after converting.
-q, --quiet Do not output any message
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Plugin Commands
List Plugins
List all installed plugins.
php artisan p:plugin:list
Create a Plugin
Create a new plugin.
php artisan p:plugin:make [options]
Options:
--name[=NAME]
--author[=AUTHOR]
--description[=DESCRIPTION]
--category[=CATEGORY]
--url[=URL]
--updateUrl[=UPDATEURL]
--panels[=PANELS]
--panelVersion[=PANELVERSION]
-q, --quiet Do not output any message
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Install a Plugin
Installs and enables a plugin. If no id is given you will be asked to choose one.
php artisan p:plugin:install [<id>]
Update a Plugin
Updates a plugin, if an update is available.
php artisan p:plugin:update [<id>]
Disable a Plugin
Disables a plugin.
php artisan p:plugin:disable [<id>]
Uninstall a Plugin
Uninstalls a plugin.
php artisan p:plugin:uninstall [options] [<id>]
Options:
--delete Delete the plugin files
-q, --quiet Do not output any message
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Install Plugin Composer Packages
Makes sure the needed composer packages for all installed plugins are available.
php artisan p:plugin:composer
Maintenance Commands
Prune Docker Images
Clean up all dangling docker images to clear up disk space. If no node ID is given, all nodes are cleaned. This runs daily via the scheduler.
php artisan p:maintenance:prune-images [<node>]
Prune Orphaned Backups
Marks all backups older than "n" minutes that have not yet completed as being failed. Defaults to the backups.prune_age config value (360 minutes).
php artisan p:maintenance:prune-backups [options]
Options:
--prune-age[=PRUNE-AGE] Age in minutes after which an uncompleted backup is marked as failed.
-q, --quiet Do not output any message
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Clean Service Backup Files
Clean orphaned .bak files created when modifying services. This runs daily via the scheduler.
php artisan p:maintenance:clean-service-backups
Fix Database Grants
Re-issues the grants of all server databases so that their names are no longer used as wildcard patterns.
php artisan p:maintenance:fix-database-grants
Editing the Environment
Editing Cache
php artisan p:environment:cache [options]
Options:
--driver[=DRIVER] The cache driver backend to use.
--redis-host[=REDIS-HOST] Redis host to use for connections.
--redis-user[=REDIS-USER] User used to connect to redis.
--redis-pass[=REDIS-PASS] Password used to connect to redis.
--redis-port[=REDIS-PORT] Port to connect to redis over.
-q, --quiet Do not output any message
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Editing Database
php artisan p:environment:database [options]
Options:
--driver[=DRIVER] The database driver backend to use.
--database[=DATABASE] The database to use.
--schema[=SCHEMA] The schema to use for the PostgreSQL database.
--host[=HOST] The connection address for the MySQL/ MariaDB/ PostgreSQL server.
--port[=PORT] The connection port for the MySQL/ MariaDB/ PostgreSQL server.
--username[=USERNAME] Username to use when connecting to the MySQL/ MariaDB/ PostgreSQL server.
--password[=PASSWORD] Password to use for the MySQL/ MariaDB/ PostgreSQL database.
-q, --quiet Do not output any message
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Editing Mail
php artisan p:environment:mail [options]
Options:
--driver[=DRIVER] The mail driver to use.
--email[=EMAIL] Email address that messages from the Panel will originate from.
--from[=FROM] The name emails from the Panel will appear to be from.
--encryption[=ENCRYPTION]
--host[=HOST]
--port[=PORT]
--endpoint[=ENDPOINT]
--username[=USERNAME]
--password[=PASSWORD]
-q, --quiet Do not output any message
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Editing Queue
php artisan p:environment:queue [options]
Options:
--driver[=DRIVER] The queue driver backend to use.
--redis-host[=REDIS-HOST] Redis host to use for connections.
--redis-user[=REDIS-USER] User used to connect to redis.
--redis-pass[=REDIS-PASS] Password used to connect to redis.
--redis-port[=REDIS-PORT] Port to connect to redis over.
-q, --quiet Do not output any message
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Editing Queue Service
php artisan p:environment:queue-service [options]
Options:
--service-name[=SERVICE-NAME] Name of the queue worker service.
--user[=USER] The user that PHP runs under.
--group[=GROUP] The group that PHP runs under.
--overwrite Force overwrite if the service file already exists.
-q, --quiet Do not output any message
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Editing Session
php artisan p:environment:session [options]
Options:
--driver[=DRIVER] The queue driver backend to use.
--redis-host[=REDIS-HOST] Redis host to use for connections.
--redis-user[=REDIS-USER] User used to connect to redis.
--redis-pass[=REDIS-PASS] Password used to connect to redis.
--redis-port[=REDIS-PORT] Port to connect to redis over.
-q, --quiet Do not output any message
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Setting cache, queue & session driver at once
php artisan p:redis:setup [options]
Options:
--redis-host[=REDIS-HOST] Redis host to use for connections.
--redis-user[=REDIS-USER] User used to connect to redis.
--redis-pass[=REDIS-PASS] Password used to connect to redis.
--redis-port[=REDIS-PORT] Port to connect to redis over.
-q, --quiet Do not output any message
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Editing Setup
php artisan p:environment:setup [options]
Options:
--url[=URL] The URL that this Panel is running on.
-q, --quiet Do not output any message
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Migrations
Migration Command
php artisan migrate [options]
Options:
--database[=DATABASE] The database connection to use
--force Force the operation to run when in production
--path[=PATH] The path(s) to the migrations files to be executed (multiple values allowed)
--realpath Indicate any provided migration file paths are pre-resolved absolute paths
--schema-path[=SCHEMA-PATH] The path to a schema dump file
--pretend Dump the SQL queries that would be run
--seed Indicates if the seed task should be re-run
--seeder[=SEEDER] The class name of the root seeder
--step Force the migrations to be run so they can be rolled back individually
--graceful Return a successful exit code even if an error occurs
--isolated[=ISOLATED] Do not run the command if another instance of the command is already running [default: false]
-q, --quiet Do not output any message
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Running Migations
php artisan migrate
Rollback previous Migration
php artisan migrate:rollback [options]
Options:
--database[=DATABASE] The database connection to use
--force Force the operation to run when in production
--path[=PATH] The path(s) to the migrations files to be executed (multiple values allowed)
--realpath Indicate any provided migration file paths are pre-resolved absolute paths
--pretend Dump the SQL queries that would be run
--step[=STEP] The number of migrations to be reverted
--batch=BATCH The batch of migrations (identified by their batch number) to be reverted
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Check Migration Status
php artisan migrate:status [options]
Options:
--database[=DATABASE] The database connection to use
--pending[=PENDING] Only list pending migrations [default: false]
--path[=PATH] The path(s) to the migrations files to use (multiple values allowed)
--realpath Indicate any provided migration file paths are pre-resolved absolute paths
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
Providing no extra options, php artisan migrate:status, You should see an output similar to the below
Migration name .............................................................................. Batch / Status
2016_01_23_195641_add_allocations_table ............................................................ [1] Ran
2016_01_23_195851_add_api_keys ..................................................................... [1] Ran
...
...
2024_07_12_095213_fix_missing_sqlite_foreign_keys .................................................. [1] Ran
2024_08_13_171337_fix_allocation_server_foreign_key ................................................ [2] Ran
If any show PENDING or FAILED. Open a support thread on our discord for further assistance.
Clearing Cache
The below commands are helpful if you need to clear the config or application cache.
php artisan cache:clear # Clears application cache
php artisan config:clear # Clears configuration cache
php artisan config:cache is disabled in Pelican, and php artisan optimize skips config caching. Caching the config would stop plugin config files (/plugins/config/*.php) from loading.