deployphp/deployer

View on GitHub
docs/recipe/provision.md

Summary

Maintainability
Test Coverage
<!-- DO NOT EDIT THIS FILE! -->
<!-- Instead edit recipe/provision.php -->
<!-- Then run bin/docgen -->

# Provision Recipe

```php
require 'recipe/provision.php';
```

[Source](/recipe/provision.php)

* Requires
  * [databases](/docs/recipe/provision/databases.md)
  * [nodejs](/docs/recipe/provision/nodejs.md)
  * [php](/docs/recipe/provision/php.md)
  * [website](/docs/recipe/provision/website.md)

## Configuration
### lsb_release
[Source](https://github.com/deployphp/deployer/blob/master/recipe/provision.php#L16)

Name of lsb_release like: focal, bionic, etc.
As only Ubuntu 20.04 LTS is supported for provision should be the `focal`.

```php title="Default value"
return run("lsb_release -s -c");
```


### sudo_password
[Source](https://github.com/deployphp/deployer/blob/master/recipe/provision.php#L233)



```php title="Default value"
return askHiddenResponse(' Password for sudo: ');
```


### ssh_copy_id
[Source](https://github.com/deployphp/deployer/blob/master/recipe/provision.php#L239)

Specify which key to copy to server.
Set to `false` to disable copy of key.

```php title="Default value"
'~/.ssh/id_rsa.pub'
```



## Tasks

### provision
[Source](https://github.com/deployphp/deployer/blob/master/recipe/provision.php#L21)

Provision the server.




This task is group task which contains next tasks:
* [provision:check](/docs/recipe/provision.md#provisioncheck)
* [provision:configure](/docs/recipe/provision.md#provisionconfigure)
* [provision:update](/docs/recipe/provision.md#provisionupdate)
* [provision:upgrade](/docs/recipe/provision.md#provisionupgrade)
* [provision:install](/docs/recipe/provision.md#provisioninstall)
* [provision:ssh](/docs/recipe/provision.md#provisionssh)
* [provision:firewall](/docs/recipe/provision.md#provisionfirewall)
* [provision:deployer](/docs/recipe/provision.md#provisiondeployer)
* [provision:server](/docs/recipe/provision.md#provisionserver)
* [provision:php](/docs/recipe/provision/php.md#provisionphp)
* [provision:databases](/docs/recipe/provision/databases.md#provisiondatabases)
* [provision:composer](/docs/recipe/provision/php.md#provisioncomposer)
* [provision:npm](/docs/recipe/provision/nodejs.md#provisionnpm)
* [provision:website](/docs/recipe/provision/website.md#provisionwebsite)
* [provision:verify](/docs/recipe/provision.md#provisionverify)


### provision:check
[Source](https://github.com/deployphp/deployer/blob/master/recipe/provision.php#L40)

Checks pre-required state.




### provision:configure
[Source](https://github.com/deployphp/deployer/blob/master/recipe/provision.php#L63)

Collects required params.




### provision:update
[Source](https://github.com/deployphp/deployer/blob/master/recipe/provision.php#L99)

Adds repositories and update.




### provision:upgrade
[Source](https://github.com/deployphp/deployer/blob/master/recipe/provision.php#L121)

Upgrades all packages.




### provision:install
[Source](https://github.com/deployphp/deployer/blob/master/recipe/provision.php#L128)

Installs packages.




### provision:server
[Source](https://github.com/deployphp/deployer/blob/master/recipe/provision.php#L162)

Configures a server.




### provision:ssh
[Source](https://github.com/deployphp/deployer/blob/master/recipe/provision.php#L223)

Configures the ssh.




### provision:deployer
[Source](https://github.com/deployphp/deployer/blob/master/recipe/provision.php#L242)

Setups a deployer user.




### provision:firewall
[Source](https://github.com/deployphp/deployer/blob/master/recipe/provision.php#L289)

Setups a firewall.




### provision:verify
[Source](https://github.com/deployphp/deployer/blob/master/recipe/provision.php#L297)

Verifies what provision was successful.