PHPackages                             lamp-io/lio - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. lamp-io/lio

ActiveLibrary[CLI &amp; Console](/categories/cli)

lamp-io/lio
===========

Command line interface, for lamp.io platform

0.1.4(6y ago)01432[3 issues](https://github.com/lamp-io/lio/issues)[1 PRs](https://github.com/lamp-io/lio/pulls)MITPHPPHP &gt;=7.2

Since Oct 9Pushed 3y ago1 watchersCompare

[ Source](https://github.com/lamp-io/lio)[ Packagist](https://packagist.org/packages/lamp-io/lio)[ RSS](/packages/lamp-io-lio/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (4)Dependencies (6)Versions (6)Used By (0)

Command line interface, [Lamp-io](https://www.lamp.io/) platform
================================================================

[](#command-line-interface-lamp-io-platform)

[![Build Status](https://camo.githubusercontent.com/ca7a74ef7ea29cee44a3168d5ef05487bf040747e4964b66606c5a5df527aa76/68747470733a2f2f7472617669732d63692e636f6d2f6c616d702d696f2f6c696f2e7376673f6272616e63683d6d6173746572)](https://travis-ci.com/lamp-io/lio)[![Latest Stable Version](https://camo.githubusercontent.com/2c22ce5c698517aa23243e2cee9feeafca4beb17636d7cdcff1190412f8ba47f/68747470733a2f2f706f7365722e707567782e6f72672f6c616d702d696f2f6c696f2f76657273696f6e)](https://packagist.org/packages/lamp-io/lio)[![License](https://camo.githubusercontent.com/300b5b8709f55be7e0a30adfe6624517623bedf68a0d4f20cc939e007cdeead6/68747470733a2f2f706f7365722e707567782e6f72672f6c616d702d696f2f6c696f2f6c6963656e7365)](https://packagist.org/packages/lamp-io/lio)

Installation
------------

[](#installation)

##### As a Global Composer Install

[](#as-a-global-composer-install)

```
$ composer global require lamp-io/lio
```

##### As local composer package

[](#as-local-composer-package)

```
composer require lamp-io/lio
```

##### Download as a PHAR

[](#download-as-a-phar)

[lio.phar](https://github.com/lamp-io/lio/releases/latest/download/lio.phar)

Usage
-----

[](#usage)

```
lio command [options] [arguments]
```

Authentication
--------------

[](#authentication)

Tokens can be generated at

How lio can handle tokens

1. Store token in a environment variable

    ```
    export LAMP_IO_TOKEN={TOKEN_VALUE}
    ```
2. Store token in a file

    Call auth command, it will ask you to prompt token

    ```
    lio auth
    ```

    Token will be stored in $HOME/.config/lamp.io/token

Commands
--------

[](#commands)

### Global options

[](#global-options)

- `[-j][--json]` ***(bool)*** Output as a raw json
- `[-h][--help]` ***(bool)*** Display this help message
- `[-q][--quiet]` ***(bool)*** Do not output any message
- `[-V][--version]` ***(bool)*** Display this application version
- `[--ansi]` ***(bool)*** Force ANSI output
- `[--no-ansi]` ***(bool)*** Disable ANSI output
- `[-n][--no-interaction]` ***(bool)*** Do not ask any interactive question
- `[-v|vv|vvv][--verbose]` ***(bool)*** Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

### Auth

[](#auth)

1. #### auth \[-u\]\[--update\_token\]

    [](#auth--u--update_token)

    Set auth token.

    Get your token at  on settings page

    Options:

    - `[-u][--update_token]` ***(bool)*** Update existing token
    - `[-t][--token]` ***(string)*** Set/Update auth token, in noninteractive mode

### Apps

[](#apps)

1. #### apps:new &lt;organization\_id&gt; \[-d\]\[--description\] \[--httpd\_conf\] \[--max\_replicas\] \[-m\]\[--memory\] \[--min\_replicas\] \[--php\_ini\] \[-r\]\[--replicas\] \[--vcpu\] \[--github\_webhook\_secret\] \[--webhook\_run\_command\] \[--hostname\] \[--hostname\_certificate\_valid\] \[--public\] \[--delete\_protection\]

    [](#appsnew-organization_id--d--description---httpd_conf---max_replicas--m--memory---min_replicas---php_ini--r--replicas---vcpu---github_webhook_secret---webhook_run_command---hostname---hostname_certificate_valid---public---delete_protection)

    Creates a new app

    Api reference

    Arguments:

    - `[]` ***(string)*** The ID of the organization this app belongs to

    Options:

    - `[-d][--description]` ***(string)*** A description
    - `[--httpd_conf]` ***(string)*** Path to your httpd.conf
    - `[--max_replicas]` ***(int)*** The maximum number of auto-scaled replicas
    - `[-m][--memory]` ***(string)*** The amount of memory available (example: 1Gi) (default: 128Mi)
    - `[--min_replicas]` ***(int)*** The minimum number of auto-scaled replicas (default: 1)
    - `[--php_ini]` ***(string)*** Path to your php.ini
    - `[-r][--replicas]` ***(int)*** The number current number replicas available. 0 stops app (default: 1)
    - `[--vcpu]` ***(float)*** The number of virtual cpu cores available (maximum: 4, minimum: 0.25)
    - `[--github_webhook_secret]` ***(string)*** Github web-hook secret token
    - `[--webhook_run_command]` ***(string)*** Github web-hook command
    - `[--hostname]` ***(string)*** The hostname for the app
    - `[--hostname_certificate_valid]` ***(bool)*** Is hostname certificate valid
    - `[--public]` ***(bool)*** Public for read-only
    - `[--delete_protection]` ***(bool)*** When enabled the app can not be deleted
2. #### apps:update &lt;app\_id&gt; &lt;organization\_id&gt; \[-d\]\[--description\] \[--httpd\_conf\] \[--max\_replicas\] \[-m\]\[--memory\] \[--min\_replicas\] \[--php\_ini\] \[-r\]\[--replicas\] \[--vcpu\] \[--vcpu\] \[--github\_webhook\_secret\] \[--webhook\_run\_command\] \[--hostname\] \[--hostname\_certificate\_valid\] \[--public\] \[--delete\_protection\]

    [](#appsupdate-app_id-organization_id---d--description---httpd_conf---max_replicas--m--memory---min_replicas---php_ini--r--replicas---vcpu---vcpu---github_webhook_secret---webhook_run_command---hostname---hostname_certificate_valid---public---delete_protection)

    Update app

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the app
    - `[]` ***(string)*** The ID of the organization this app belongs to

    Options:

    - `[--httpd_conf]` ***(string)*** Path to your httpd.conf
    - `[--max_replicas]` ***(int)*** The maximum number of auto-scaled replicas
    - `[-m][--memory]` ***(string)*** The amount of memory available (example: 1Gi) (default: 128Mi)
    - `[--min_replicas]` ***(int)*** The minimum number of auto-scaled replicas (default: 1)
    - `[--php_ini]` ***(string)*** Path to your php.ini
    - `[-r][--replicas]` ***(int)*** The number current number replicas available. 0 stops app (default: 1)
    - `[--vcpu]` ***(float)*** The number of virtual cpu cores available (maximum: 4, minimum: 0.25)
    - `[--github_webhook_secret]` ***(string)*** Github web-hook secret token
    - `[--webhook_run_command]` ***(string)*** Github web-hook command
    - `[--hostname]` ***(string)*** The hostname for the app
    - `[--hostname_certificate_valid]` ***(bool)*** Is hostname certificate valid
    - `[--public]` ***(bool)*** Public for read-only
    - `[--delete_protection]` ***(bool)*** When enabled the app can not be deleted
3. #### apps:delete &lt;app\_id&gt; \[--yes\]\[-y\]

    [](#appsdelete-app_id---yes-y)

    Delete an app

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the app

    Options:

    - `[--yes][-y]` ***(bool)*** Skip confirm delete question
4. #### apps:list

    [](#appslist)

    Returns the apps for an organization

    Api reference

    Options:

    - `[-o][--organization_id]` ***(string)*** Comma-separated list of requested organization\_ids. If omitted defaults to user's default organization
5. #### apps:describe &lt;app\_id&gt;

    [](#appsdescribe-app_id)

    Return your app

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the app

### Apps sub commands:

[](#apps-sub-commands)

1. ### apps:update:status &lt;app\_id&gt; \[--enable\] \[--disable\]

    [](#appsupdatestatus-app_id---enable---disable)

    Enable/disable app

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the app

    Options:

    - `[--enable]` ***(bool)*** Enable your stopped app
    - `[--disable]` ***(bool)*** Disable your running app

### Autodeploys

[](#autodeploys)

1. #### autodeploys:new &lt;github\_repository&gt; \[--organization\_id\]\[-o\] \[--create\_app\_on\_pr\]\[-c\] \[--delete\_app\_on\_branch\_delete\]\[-d\]

    [](#autodeploysnew-github_repository---organization_id-o---create_app_on_pr-c---delete_app_on_branch_delete-d)

    Create an autodeploy for an organization

    Api reference

    Arguments:

    - `` ***(string)*** The repository this autodeploy uses

    Options:

    - `[-o][--organization_id]` ***(string)*** One organization\_id. If omitted defaults to user's default organization
    - `[-c][--create_app_on_pr]` ***(bool)*** Create lamp.io app when a PR is created
    - `[-d][--delete_app_on_branch_delete]` ***(bool)*** Delete lamp.io app when branch is deleted
2. #### autodeploys:update &lt;autodeploy\_id&gt; \[--github\_repository\]\[-g\] \[--organization\_id\]\[-o\] \[--create\_app\_on\_pr\]\[-c\]

    [](#autodeploysupdate-autodeploy_id---github_repository-g---organization_id-o---create_app_on_pr-c)

    Update an autodeploy

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the autodeploy

    Options:

    - `[-g][--github_repository]` ***(string)*** The repository this autodeploy uses
    - `[-c][--create_app_on_pr]` ***(bool)*** Create lamp.io app when a PR is created
    - `[-d][--delete_app_on_branch_delete]` ***(bool)*** Delete lamp.io app when branch is deleted
3. #### autodeploys:delete &lt;autodeploy\_id&gt;

    [](#autodeploysdelete-autodeploy_id)

    Delete an autodeploy

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the autodeploy
4. #### autodeploys:list \[--organization\_id\]\[-o\]

    [](#autodeployslist---organization_id-o)

    Return autodeploys

    Api reference

    Options:

    - `[-o][--organization_id]` ***(string)*** Comma-separated list of requested organization\_ids. If omitted defaults to user's default organization
5. #### autodeploys:describe

    [](#autodeploysdescribe)

    Returns an autodeploy

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the autodeploy

### AutodeploysBranch &lt;app\_id&gt; &lt;autodeploy\_id&gt; \[--organization\_id\]\[-o\]

[](#autodeploysbranch-app_id-autodeploy_id----organization_id-o)

1. ### autodeploysBranch:new

    [](#autodeploysbranchnew)

    Create an autodeployBranch for an organization

    Api reference [https://www.lamp.io/api#/autodeploys\_branch/autoDeploysBranchCreate](https://www.lamp.io/api#/autodeploys_branch/autoDeploysBranchCreate)

    Arguments:

    - `` ***(string)*** The ID of the app this branch deploys to
    - `` ***(string)*** The ID of the autodeploy
    - `` ***(string)*** Branch name

    Options:

    - `[-o][--organization_id]` ***(string)*** One organization\_id. If omitted defaults to user's default organization
2. ### autodeploysBranch:update &lt;autodeploy\_branch\_id&gt; \[--app\_id\]\[-a\] \[--branch\]\[-b\]

    [](#autodeploysbranchupdate-autodeploy_branch_id---app_id-a---branch-b)

    Update an autodeploys\_branch

    Api reference [https://www.lamp.io/api#/autodeploys\_branch/autoDeploysBranchUpdate](https://www.lamp.io/api#/autodeploys_branch/autoDeploysBranchUpdate)

    Arguments:

    - `` ***(string)*** The ID of the autodeployBranch

    Options:

    - `[-a][--app_id]` ***(string)*** The ID of the app to deploy against
    - `[-b][--branch]` ***(string)*** Branch name
3. ### autodeploysBranch:delete &lt;autodeploy\_branch\_id&gt;

    [](#autodeploysbranchdelete-autodeploy_branch_id)

    Delete an autodeploys\_branch

    Api reference [https://www.lamp.io/api#/autodeploys\_branch/autoDeploysBranchDelete](https://www.lamp.io/api#/autodeploys_branch/autoDeploysBranchDelete)

    Arguments:

    - `` ***(string)*** The ID of the autodeployBranch
4. ### autodeploysBranch:list \[--organization\_id\]\[-o\]

    [](#autodeploysbranchlist---organization_id-o)

    Return autodeploys\_branch

    Api reference [https://www.lamp.io/api#/autodeploys\_branch/autoDeploysBranchList](https://www.lamp.io/api#/autodeploys_branch/autoDeploysBranchList)

    Options:

    - `[-o][--organization_id]` ***(string)*** Comma-separated list of requested organization\_ids. If omitted defaults to user's default organization
5. ### autodeploysBranch:describe &lt;autodeploy\_branch\_id&gt;

    [](#autodeploysbranchdescribe-autodeploy_branch_id)

    Return an autodeploy\_branch

    Api reference [https://www.lamp.io/api#/autodeploys\_branch/autoDeploysBranchShow](https://www.lamp.io/api#/autodeploys_branch/autoDeploysBranchShow)

    Arguments:

    - `` ***(string)*** The ID of the autodeployBranch

### App backups

[](#app-backups)

1. #### app\_backups:new &lt;app\_id&gt;

    [](#app_backupsnew-app_id)

    Back up files in app

    Api reference [https://www.lamp.io/api#/app\_backups/appBackupsCreate](https://www.lamp.io/api#/app_backups/appBackupsCreate)

    Arguments:

    - `` ***(string)*** The ID of the app
2. #### app\_backups:download &lt;app\_backup\_id&gt;

    [](#app_backupsdownload-app_backup_id-)

    Download an app backup

    Api reference [https://www.lamp.io/api#/app\_backups/appBackupsShow](https://www.lamp.io/api#/app_backups/appBackupsShow)

    Arguments:

    - `` ***(string)*** The ID of the app backup
    - `[]` ***(string)*** Local path for downloaded file. (default: current working directory)
3. #### app\_backups:delete &lt;app\_backup\_id&gt; \[--yes\]\[-y\]

    [](#app_backupsdelete-app_backup_id---yes-y)

    Delete an app backup

    Api reference [https://www.lamp.io/api#/app\_backups/appBackupsShow](https://www.lamp.io/api#/app_backups/appBackupsShow)

    Arguments:

    - `` ***(string)*** The ID of the app backup

    Options:

    - `[--yes][-y]` ***(bool)*** Skip confirm delete question
4. #### app\_backups:list \[-o\]\[--organization\_id\]

    [](#app_backupslist--o--organization_id)

    Return app backups

    Api reference [https://www.lamp.io/api#/app\_backups/appBackupsList](https://www.lamp.io/api#/app_backups/appBackupsList)

    Options:

    - `[-o][--organization_id]` ***(string)*** Comma-separated list of requested organization\_ids. If omitted defaults to user's default organization
5. #### app\_backups:describe &lt;app\_backup\_id&gt;

    [](#app_backupsdescribe-app_backup_id)

    Return an app backup

    Get an app backup

    Api reference [https://www.lamp.io/api#/app\_backups/appBackupsShow](https://www.lamp.io/api#/app_backups/appBackupsShow)

    Arguments:

    - `` ***(string)*** The ID of the app backup

### App restores

[](#app-restores)

1. #### app\_restores:new &lt;app\_id&gt; &lt;app\_backup\_id&gt;

    [](#app_restoresnew-app_id-app_backup_id)

    Restore files to an app

    Api reference [https://www.lamp.io/api#/app\_restores/appRestoresCreate](https://www.lamp.io/api#/app_restores/appRestoresCreate)

    Arguments:

    - `` ***(string)*** The ID of the app
    - `` ***(string)*** The ID of the app backup
2. #### app\_restores:delete &lt;app\_restore\_id&gt; \[--yes\]\[-y\]

    [](#app_restoresdelete-app_restore_id---yes-y)

    Delete an app backup

    Api reference [https://www.lamp.io/api#/app\_restores/appRestoresDelete](https://www.lamp.io/api#/app_restores/appRestoresDelete)

    Arguments:

    - `` ***(string)*** The ID of the app restore

    Options:

    - `[--yes][-y]` ***(bool)*** Skip confirm delete question
3. #### app\_restores:list \[-o\]\[--organization\_id\]

    [](#app_restoreslist--o--organization_id)

    Return app restores

    Api reference [https://www.lamp.io/api#/app\_restores/appRestoresList](https://www.lamp.io/api#/app_restores/appRestoresList)

    Options:

    - `[-o][--organization_id]` ***(string)*** Comma-separated list of requested organization\_ids. If omitted defaults to user's default organization
4. #### app\_restores:describe &lt;app\_restore\_id&gt;

    [](#app_restoresdescribe-app_restore_id)

    Return an app restore

    Allow you to get an app backup, api reference [https://www.lamp.io/api#/app\_backups/appRestoresShow](https://www.lamp.io/api#/app_backups/appRestoresShow)

    Arguments:

    - `` ***(string)*** The ID of the app restore

### App runs

[](#app-runs)

1. ### app\_runs:new &lt;app\_id&gt;

    [](#app_runsnew-app_id-)

    Run command on app

    Api reference [https://www.lamp.io/api#/app\_backups/appRunsCreate](https://www.lamp.io/api#/app_backups/appRunsCreate)

    Arguments:

    - `` ***(string)*** The ID of the app
    - `` ***(string)*** Command to run
2. ### app\_runs:delete &lt;app\_run\_id&gt;

    [](#app_runsdelete-app_run_id)

    Delete app run

    Api reference [https://www.lamp.io/api#/app\_runs/appRunsDelete](https://www.lamp.io/api#/app_runs/appRunsDelete)

    Arguments:

    - `` ***(string)*** ID of app run
3. ### app\_runs:list \[--page\_number\] \[--page\_size\] \[--organization\_id\]\[-o\] \[--output\_lines\]

    [](#app_runslist---page_number---page_size---organization_id-o---output_lines)

    Return all app runs for all user's organizations

    Api reference [https://www.lamp.io/api#/app\_runs/appRunsList](https://www.lamp.io/api#/app_runs/appRunsList)

    Options:

    - `[--page_number]` ***(int)*** Pagination page, default value 1
    - `[--page_size]` ***(int)*** Count per paginated page, default value 100
    - `[-o][--organization_id]` ***(string)*** Comma-separated list of requested organization\_ids. If omitted defaults to user's default organization
    - `[--output_lines]` ***(int)*** Maximum number of lines returned. 1 is Unlimited. Default 5
4. ### app\_runs:describe

    [](#app_runsdescribe)

    Return app run

    Api reference [https://www.lamp.io/api#/app\_runs/appRunsShow](https://www.lamp.io/api#/app_runs/appRunsShow)

    Arguments:

    - `` ***(string)*** ID of app run

### Databases

[](#databases)

1. ### databases:new \[-d\]\[--description\] \[-m\]\[--memory\] \[-o\]\[--organization\_id\] \[--mysql\_root\_password\] \[--my\_cnf\] \[--ssd\] \[--vcpu\] \[--delete\_protection\]

    [](#databasesnew---d--description--m--memory--o--organization_id---mysql_root_password---my_cnf---ssd---vcpu---delete_protection)

    Create a new database

    Api reference

    Options:

    - `[-d][--description]` ***(string)*** Description of your database
    - `[-m][--memory]` ***(string)*** Amount of virtual memory on your database (default: 512Mi)
    - `[-o][--organization_id]` ***(string)*** Name of your organization
    - `[--mysql_root_password]` ***(string)*** Your root password for mysql
    - `[--my_cnf]` ***(string)*** Path to your database config file
    - `[--ssd]` ***(string)*** Size of ssd storage (default: 1Gi)
    - `[--vcpu]` ***(float)*** The number of virtual cpu cores available (default: 0.25)
    - `[--delete_protection]` ***(bool)*** When enabled the database can not be deleted
2. ### databases:delete &lt;database\_id&gt; \[--yes\]\[-y\]

    [](#databasesdelete-database_id---yes-y)

    Delete a database

    Api reference

    Arguments:

    \*`` ***(string)*** The ID of database

    Options:

    - `[--yes][-y]` ***(bool)*** Skip confirm delete question
3. ### databases:update &lt;database\_id&gt; \[-d\]\[--description\] \[-m\]\[--memory\] \[-o\]\[--organization\_id\] \[--my\_cnf\] \[--mysql\_root\_password\] \[--ssd\] \[--vcpu\] \[--delete\_protection\]

    [](#databasesupdate-database_id--d--description--m--memory--o--organization_id---my_cnf---mysql_root_password---ssd---vcpu---delete_protection)

    Update a database.

    Api reference

    Arguments:

    \*`)` ***(string)*** The ID of database

    Options:

- `[-d][--description]` ***(string)*** Description of your database
- `[-m][--memory]` ***(string)*** Amount of virtual memory on your database (default: 512Mi)
- `[-o][--organization_id]` ***(string)*** Name of your organization
- `[--mysql_root_password]` ***(bool)*** If you need to update root password, set it as true
- `[--my_cnf]` ***(string)*** Path to your database config file
- `[--ssd]` ***(string)*** Size of ssd storage (default: 1Gi)
- `[--vcpu]` ***(float)*** The number of virtual cpu cores available (default: 0.25)
- `[--delete_protection]` ***(bool)*** When enabled the database can not be deleted

4. ### databases:list \[-o\]\[--organization\_id\]

    [](#databaseslist--o--organization_id)

    Returns all databases

    Api reference

    Options:

    - `` ***(string)*** Filter output by organization id value
5. ### databases:describe &lt;database\_id&gt;

    [](#databasesdescribe-database_id)

    Returns a database

    Api reference

    Arguments:

    - `` ***(string)*** The ID of database

### Database backups

[](#database-backups)

1. ### db\_backups:new &lt;database\_id&gt;

    [](#db_backupsnew-database_id)

    Back up database

    Api reference [https://www.lamp.io/api#/db\_backups/dbBackupsCreate](https://www.lamp.io/api#/db_backups/dbBackupsCreate)

    Arguments:

    \*`` ***(string)*** The id of database
2. ### db\_backups:delete &lt;db\_backup\_id&gt; \[--yes\]\[-y\]

    [](#db_backupsdelete-db_backup_id---yes-y)

    Delete a db backup

    Api reference [https://www.lamp.io/api#/db\_backups/dbBackupsDelete](https://www.lamp.io/api#/db_backups/dbBackupsDelete)

    Arguments:

    \*`` ***(string)*** The ID of the db backup

    Options:

    - `[--yes][-y]` ***(string)*** Skip confirm delete question
3. \###db\_backups:list \[-o\]\[--organization\_id\]

    Return db backups

    Api reference [https://www.lamp.io/api#/db\_backups/dbBackupsList](https://www.lamp.io/api#/db_backups/dbBackupsList)

    Options:

    - `[-o][--organization_id]` ***(string)*** Comma-separated list of requested organization\_ids. If omitted defaults to user's default organization
4. ### db\_backups:describe &lt;db\_backup\_id&gt;

    [](#db_backupsdescribe-db_backup_id)

    Return a database backup

    Api reference [https://www.lamp.io/api#/db\_backups/dbBackupsShow](https://www.lamp.io/api#/db_backups/dbBackupsShow)

    Arguments:

    - `` ***(string)*** The ID of the db backup

### Database restore jobs

[](#database-restore-jobs)

1. ### db\_restores:new

    [](#db_restoresnew)

    Create database restore job (restore backup to a database)

    Api reference [https://www.lamp.io/api#/db\_restores/dbRestoresCreate](https://www.lamp.io/api#/db_restores/dbRestoresCreate)

    Arguments:

    - `` ***(string)*** The id of database
    - `` ***(string)*** The ID of the db backup
2. ### db\_restores:delete &lt;db\_restore\_id&gt;

    [](#db_restoresdelete-db_restore_id)

    Delete a db restore job

    Api reference [https://www.lamp.io/api#/db\_restores/dbRestoresDelete](https://www.lamp.io/api#/db_restores/dbRestoresDelete)

    Arguments:

    - `` ***(string)*** The ID of the db restore
3. ### db\_restores:list \[-o\]\[--organization\_id\]

    [](#db_restoreslist--o--organization_id)

    Return db restore jobs

    Api reference [https://www.lamp.io/api#/db\_backups/dbBackupsList](https://www.lamp.io/api#/db_backups/dbBackupsList)

    Options:

    - `[-o][--organization_id]` ***(string)*** Comma-separated list of requested organization\_ids. If omitted defaults to user's default organization
4. ### db\_restores:describe &lt;db\_restore\_id&gt;

    [](#db_restoresdescribe-db_restore_id)

    Return a db restore job

    Api reference [https://www.lamp.io/api#/db\_backups/dbRestoresShow](https://www.lamp.io/api#/db_backups/dbRestoresShow)

    Arguments:

    - `` ***(string)*** The ID of the db restore

### Files

[](#files)

1. ### files:new &lt;app\_id&gt; &lt;file\_id&gt; \[\] \[--apache\_writable\] \[--source\]

    [](#filesnew--app_id-file_id----apache_writable---source)

    Create a file on your app

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the app
    - `` ***(string)*** File ID of a file to create'
    - `[]` ***(string)*** File content

    Options:

    - `[--source]` ***(string)*** A URL to that will be retrieved for fetch content
    - `[--apache_writable]` ***(bool)*** Allow apache to write to the file ID
2. #### files:list &lt;app\_id&gt; &lt;file\_id&gt; \[-l\]\[--limit\] \[--human-readable\] \[-r\]\[--recursive\]

    [](#fileslist-app_id-file_id--l--limit---human-readable--r--recursive)

    Return files from the root of an app

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the app
    - `` ***(string)*** The ID of the file. The ID is also the file path relative to its app root (default: app root)

    Options:

    - `[-l][--limit]` ***(int)*** The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if an operation times out (default: 1000)
    - `[--human-readable]` ***(bool)*** Format size values from raw bytes to human readable format
    - `[-r][--recursive]` ***(bool)*** Command is performed on all files or objects under the specified path
3. #### files:upload &lt;app\_id&gt; &lt;file\_id&gt;

    [](#filesupload--app_id-file_id)

    Creates new file

    Api reference

    Arguments:

    - `` ***(string)*** Local path of file to upload
    - `` ***(string)*** The ID of the app
    - `` ***(string)*** File ID of file to save
4. #### files:download &lt;app\_id&gt; &lt;file\_id&gt;

    [](#filesdownload-app_id-file_id-)

    Download files as zip.

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the app
    - `` ***(string)*** The ID of the file. The ID is also the file path relative to its app root
    - `` ***(string)*** Local path for downloaded file (default: current working dir)
5. #### files:update &lt;app\_id&gt; \[&lt;file\_id&gt;\] \[&lt;local\_file&gt;\] \[-r\]\[--recur\] \[--command\]

    [](#filesupdate-app_id-file_id-local_file--r--recur---command)

    Update file at file\_id(file path including file name, relative to app root)

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the app
    - `` ***(string)*** File ID of file to update. If omitted, update app root directory
    - `[]` ***(string)*** Path to a local file; this is uploaded to remote\_path

    Options:

    - `[-r][--recursive]` ***(bool)*** Recur into directories (works only with \[--apache\_writable\] option)
    - `[--apache_writable]` ***(bool)*** Allow apache to write to the file ID
6. #### files:delete &lt;app\_id&gt; &lt;file\_id&gt; \[--yes\]\[-y\]

    [](#filesdelete-app_id-file_id---yes-y)

    Remove file/directory from your app

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the app
    - `` ***(string)*** File ID of file to delete

    Options:

    - `[--yes][-y]` ***(bool)*** Skip confirm delete question

### Files sub commands:

[](#files-sub-commands)

1. ### files:new:dir &lt;app\_id&gt; &lt;file\_id&gt; \[--apache\_writable\]

    [](#filesnewdir-app_id-file_id---apache_writable)

    Create a directory on your app

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the app
    - `` ***(string)*** File ID of directory to create

    Options:

    - `[--apache_writable]` ***(bool)*** Allow apache to write to the file ID
2. ### files:new:symlink &lt;app\_id&gt; &lt;file\_id&gt; \[--apache\_writable\]

    [](#filesnewsymlink-app_id-file_id----apache_writable)

    Create a symlink on your app

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the app
    - `` ***(string)*** File ID of a symlink to create
    - `` ***(string)*** Symlink target file ID

    Options:

    - `[--apache_writable]` ***(bool)*** Allow apache to write to the file ID
3. ### files:update:symlink &lt;app\_id&gt; &lt;file\_id&gt; \[--apache\_writable\]

    [](#filesupdatesymlink-app_id-file_id----apache_writable)

    Update a symlink on your app

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the app
    - `` ***(string)*** File ID of a symlink to update
    - `` ***(string)*** Symlink target file ID

    Options:

    - `[--apache_writable]` ***(bool)*** Allow apache to write to the file ID
4. #### files:update:unarchive &lt;app\_id&gt; &lt;file\_id&gt;

    [](#filesupdateunarchive-app_id-file_id)

    Extract archive file

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the app
    - `` ***(string)*** File ID of file to unarchive
5. ### files:update:fetch &lt;app\_id&gt; &lt;file\_id&gt;

    [](#filesupdatefetch-app_id-file_id-)

    Fetch file from URL

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the app
    - `` ***(string)*** File ID of file to fetch
    - `` ***(string)*** URL to fetch
6. ### files:update:move &lt;app\_id&gt; &lt;file\_id&gt; &lt;move\_path&gt;

    [](#filesupdatemove-app_id-file_id-move_path)

    Move file to another directory

    Arguments:

    - `` ***(string)*** The ID of the app
    - `` ***(string)*** File ID of file to move
    - `` ***(string)*** The target File ID to move to. NOTE: The target directory must exist

### Keys

[](#keys)

1. ### keys:new \[-o\]\[organization\_id\] \[-d\]\[--description\]

    [](#keysnew--oorganization_id--d--description)

    Creates a new key

    Api reference

    Options:

    - `[-o][--organization_id]` ***(string)*** One organization\_id. If omitted defaults to user's default organization
    - `[-d][--description]` ***(string)*** An immutable description for this key
2. ### keys:update &lt;key\_id&gt; \[-d\]\[--description\]

    [](#keysupdate-key_id--d--description)

    Update a key

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the key

    Options:

    - `[-d][--description]` ***(string)*** An immutable description for this key
3. ### keys:delete &lt;key\_id&gt;

    [](#keysdelete-key_id)

    Delete a key

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the key
4. ### keys:list \[-o\]\[--organization\_id\]

    [](#keyslist--o--organization_id)

    Returns keys for organization

    Api reference

    Options

    - `[-o][--organization_id]` ***(string)*** One organization\_id. If omitted defaults to user's default organization
5. ### keys:describe &lt;key\_id&gt;

    [](#keysdescribe-key_id)

    Returns a key

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the key

### Logs

[](#logs)

1. ### logs:list \[-o\]\[--organization\_id\]\[--pod\_name\]\[-p\] \[--start\_time\] \[--end\_time\]

    [](#logslist--o--organization_id--pod_name-p---start_time---end_time)

    Return logs

    Api reference

    Options

    - `[-o][--organization_id]` ***(string)*** One organization\_id. If omitted defaults to user's default organization
    - `[--pod_name][-p]` ***(string)*** One pod\_name. Uses wildcard prefix match
    - `[--start_time]` ***(string)*** Start time conforming to RFC3339 (default: 10 minutes in the past)
    - `[--end_time]` ***(string)*** End time conforming to RFC3339. (default: current date)

### Organizations

[](#organizations)

1. ### organizations:update &lt;organization\_id&gt; \[--name\] \[--promo\_code\] \[--payment\]\[-p\]

    [](#organizationsupdate-organization_id---name---promo_code---payment-p)

    Update an organization

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the organization

    Options:

    - `[--name]` ***(string)*** New organization name
    - `[--promo_code]` ***(string)*** Apply promo code
    - `[--payment][-p]` ***(string)*** Stripe source id
2. ### organizations:list

    [](#organizationslist)

    Returns this user's organizations

    Api reference

\###Organization users

1. ### organization\_users:update &lt;organization\_user\_id&gt; \[--admin\]

    [](#organization_usersupdate-organization_user_id---admin)

    Update an organization/user relationship (Allow to set/remove selected user role as an organization admin)

    Api reference [https://www.lamp.io/api#/organization\_users/organizationUsersUpdate](https://www.lamp.io/api#/organization_users/organizationUsersUpdate)

    Arguments:

    - `` ***(string)*** The ID of the organization\_use

    Options:

    - `[--admin]` ***(bool)*** Set selected user as admin of organization (if you need to remove admin role from selected user, just omit this option)
2. ### organizations\_users:list \[-o\]\[--organization\_id\]

    [](#organizations_userslist--o--organization_id)

    Returns organization/user relationships

    Api reference [https://www.lamp.io/api#/organization\_users/organizationUsersList](https://www.lamp.io/api#/organization_users/organizationUsersList)

    Options:

    - `[-o][--organization_id]` ***(string)*** Comma-separated list of requested organization\_ids. If omitted defaults to user's default organization
3. ### organizations\_users:describe &lt;organization\_user\_id&gt;

    [](#organizations_usersdescribe-organization_user_id)

    Returns a organization/user relationship

    Api reference [https://www.lamp.io/api#/organization\_users/organizationUsersShow](https://www.lamp.io/api#/organization_users/organizationUsersShow)

    Arguments:

    - `` ***(string)*** The ID of the organization\_use

### Tokens

[](#tokens)

1. ### tokens:new \[--description\]\[-d\] \[--enable\]

    [](#tokensnew---description-d---enable)

    Creates a new token

    Api reference

    Options:

    - `[--description][-d]` ***(string)*** Token description
    - `[--enable]` ***(bool)*** Enable new token
2. ### tokens:delete &lt;token\_id&gt; \[-yes\]\[-y\]

    [](#tokensdelete-token_id--yes-y)

    Delete a token

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the token

    Options:

    - `[-yes][-y]` ***(bool)*** Skip confirm delete question
3. ### tokens:update &lt;token\_id&gt; \[--enable\] \[--disable\]

    [](#tokensupdate-token_id---enable---disable)

    Update a token

    Api reference

    Arguments:

    - `` ***(string)*** The ID of the token

    Options:

    - `[--enable]` ***(bool)*** Enable token
    - `[--disable]` ***(bool)*** Disable token
4. ### tokens:list

    [](#tokenslist)

    Returns all tokens for this user

    Api reference
5. ### tokens:describe &lt;token\_id&gt;

    [](#tokensdescribe-token_id)

    Returns a token

    Arguments:

    - `` ***(string)*** The ID of the token

### Users

[](#users)

1. #### users:list \[-o\]\[--organization\_id\]\[--email\]\[-e\]

    [](#userslist--o--organization_id--email-e)

    Returns users

    Api reference

    Options:

    - `[-o][--organization_id]` ***(string)*** Comma-separated list of requested organization\_ids. If omitted defaults to user's default organization
    - `[--email][-e]` ***(string)*** Email address to filter for

### Phar updates

[](#phar-updates)

1. `self-update` Update your phar build to the latest release (will work only if you use phar build)

CI/CD systems integration examples
==================================

[](#cicd-systems-integration-examples)

Laravel app deploy examples
---------------------------

[](#laravel-app-deploy-examples)

TravisCI
--------

[](#travisci)

Requires 2 environment variables

- APP\_ID **required** Your lamp.io App Id
- LAMP\_IO\_TOKEN **required** The lamp.io access token

.travis.yaml

```
language: php
sudo: false
php:
  - "7.3"
jobs:
  include:
    - stage: deploy
      before_script:
        - composer install
        - chmod +x build.sh
      script: ./deploy.sh
```

deploy.sh

```
#!/bin/sh -l
set -e
composer install --optimize-autoloader
composer global require lamp-io/lio dev-master --update-with-dependencies
alias lio=$HOME/.composer/vendor/bin/lio

cp .env .env.live
app=$APP_ID
release="$(date +%Y%m%d%H%m%s)";

# zip up the app for uploading
zip -r /tmp/artifact.zip . \
  -x "*\.env*" \
  -x "*\.git*" \
  --quiet

# create the new release directory in the lamp.io app
lio files:new:dir $app releases/$release

# upload the zip into it
lio files:upload /tmp/artifact.zip $app releases/$release/artifact.zip

# unzip it remotely
lio files:update:unarchive $app releases/$release/artifact.zip

# clean up
lio files:delete $app releases/$release/artifact.zip -y

# check if the (shared) storage directory already exists
if ! lio files:list $app storage -q; then
  # if not, use the one from this release to get started
  lio files:update:move $app releases/$release/storage /storage
fi

# delete this releases storage directory and symlink it to the shared one
lio files:delete $app releases/$release/storage -y -q
lio files:new:symlink $app releases/$release/storage ../../storage

# make sure the app can write to things
lio files:update $app storage --apache_writable=true --recursive
lio files:update $app releases/$release/bootstrap/cache --apache_writable=true --recursive

# upload the local .env.live file to be the remote .env file
lio files:upload .env.live $app releases/$release/.env

# run artisan remotely
# lio app_runs:new $app "cd releases/$release && php artisan migrate"

# get the current state of the docroot (public)
public="$(lio files:list $app public -j)"

# if there's a directory already there
if [ "$(echo $public | jq -r '.data.attributes.is_dir')" = 'true' ]; then
  # back it up as a pre-release
  lio files:new:dir $app releases/$release-pre
  lio files:update:move $app public releases/$release-pre/public
  # and then symlink public to this new release
  lio files:new:symlink $app public releases/$release/public

# else if there's a symlink already there
elif [ "$(echo $public | jq -r '.data.attributes.is_symlink')" = 'true' ]; then
  # update it to point to this new release
  lio files:update:symlink $app public releases/$release/public
fi
```

Github actions
--------------

[](#github-actions)

Basic workflow example:

```
on: [push]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Lio deploy
        uses: lamp-io/action-lio-deploy@master
        with:
          auth_token: ${{ secrets.lamp_io_token }}
          app_id: $({secrets.lamp_io_app_id})
```

You can get more details on [lamp-io/lio\_deploy](https://github.com/lamp-io/action-lio-deploy) action, repository page

Composer scripts
----------------

[](#composer-scripts)

1. `composer build` Create phar build

License
-------

[](#license)

The Lamp-io/lio command line interface is open-source software licensed under the [MIT license](https://opensource.org/licenses/MIT).

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 88% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~59 days

Total

4

Last Release

2230d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/235df2e714e34d9eba2a7bd0b0df8ae3ac996822f1ea851bad69ec4b4e642244?d=identicon)[lamp-io](/maintainers/lamp-io)

---

Top Contributors

[![kyryl-perepelytsia](https://avatars.githubusercontent.com/u/46731109?v=4)](https://github.com/kyryl-perepelytsia "kyryl-perepelytsia (592 commits)")[![jbartus](https://avatars.githubusercontent.com/u/561971?v=4)](https://github.com/jbartus "jbartus (43 commits)")[![jeremychase](https://avatars.githubusercontent.com/u/19157?v=4)](https://github.com/jeremychase "jeremychase (38 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/lamp-io-lio/health.svg)

```
[![Health](https://phpackages.com/badges/lamp-io-lio/health.svg)](https://phpackages.com/packages/lamp-io-lio)
```

###  Alternatives

[drush/drush

Drush is a command line shell and scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those of us who spend some of our working hours hacking away at the command prompt.

2.4k57.4M685](/packages/drush-drush)[humbug/php-scoper

Prefixes all PHP namespaces in a file or directory.

7963.0M35](/packages/humbug-php-scoper)[phpcr/phpcr-shell

Shell for PHPCR

721.3M8](/packages/phpcr-phpcr-shell)[platformsh/cli

Platform.sh CLI

23238.0k](/packages/platformsh-cli)[statamic/cli

Statamic CLI Tool

7587.7k](/packages/statamic-cli)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
