-
Notifications
You must be signed in to change notification settings - Fork 185
System Requirements
Deployer is a complex application and has several requirements.
- PHP 5.6.4+ or newer
- A database, either MySQL or PostgreSQL (SQLite can also be used but is not recommended).
- Composer
- Redis
- Node.js
- Beanstalkd for queuing jobs. Although Laravel can use redis there is currently an issue when using more than 1 queue worker, the default in Deployer is 3.
Optional extras
- Supervisor to keep the queue listener and Node.js socket server running
- A caching server, unless you expect a lot of traffic the default
file
cache is probably enough - Yarn an improved package manager for Node.js
Deployer makes extensive use of shell scripting and various GNU CLI applications, this means that it currently only runs on Linux & Mac servers.
It is recommended that you do not run Deployer on a shared hosting environment. Your hosting environment will need to allow long running background processes, which many shared hosting providers do not allow.
Nginx is the recommended web server due to being able to proxy requests to the Node.js socket server. You will need to have php-fpm
installed in order for nginx to be able to serve PHP pages.
Most distributions of Apache come with everything needed, however here is a list required Apache modules:
mod_rewrite
-
mod_ssl
(if you wish to run Deployer under SSL)
You should also ensure you have AllowOveride All
set in the <Directory>
and/or <VirtualHost>
blocks so that the .htaccess
file processes correctly and rewrite rules take effect.
Most hosting providers have PHP pre-configured with everything you need for Deployer to run out of the box. However, some distributions ship with a very minimal PHP setup. Therefore, you may need to install or enable these PHP modules:
-
gd
(a graphics library used to manipulate images) -
curl
(client for URL handling) -
openssl
(an encryption library) -
mbstring
(multibyte string support)
The following extensions are also required, but should be included in your PHP installation by default unless your hosting provider has disabled them.
-
tokenizer
(a library for handling PHP tokens) -
json
(a library for handling JSON) -
pdo
(a database connection library) -
phar
(a library for handling PHP archives)
You will also require that pdo
includes support for either mysql
, pgsql
or sqlite
.
Deployer also needs to be able to use the proc_open function, which may be disabled by your hosting provider for security reasons. Check the disable_functions
setting in php.ini
Deployer makes uses of several system commands, you will need to ensure that the following commands are accessible. Normally, they would be in one of the directories from the $PATH
environment variable.
-
ssh
(used to connect to remote servers) -
ssh-keygen
(used to generate public/private keys for each project) -
scp
(used to copy files to the remote servers) -
git
(used to checkout the code from your repository)
Servers you are deploying to will need the following commands accessible
ssh
git
-
bash
(a shell, currently other shells are not supported) -
composer
(needs to be executable, and in$PATH
)
- Creating Projects
- Server Management
- Deployments
- Command Hooks
- File Management
- Notifications
- Health Checks
- Templates
- Webhooks
- Custom Notifications
- Additional Options
- Getting Help