Available Configuration Parameter


This is a probably incomplete list off all configuration parameter for Webistrano and Capistrano.

Capistrano variables can be set so:

set :name, 'value'

In Webistrano you create a new configuration parameter on the project or stage.


The most important parameter are the following:

Name Default Optional?Description
application no Name of application, referenced by other variables
deploy_to "/u/apps/#{application}"yes Absolute path to deployment base
deploy_via :checkoutyes Deployment strategy to use, a :checkout will do a full SCM checkout, while a :copy will checkout locally, then tar and gzip the copy and sftp it to the remote servers. Allowed values are :checkout, :export, :copy and :remote_cache. See also the copy_strategy and copy_compression parameter
repository noSCM path for project, e.g. svn+ssh://svn.host.com/project
password noSSH Password for user
user local UNIX useryesUsername for SSH login on remote hosts
scm_password password yes SCM password for scm_user
scm_user useryesUsername for SCM
use_sudo trueyesWether to use sudo for remote commands
runner appyesRemote User sudo to if use_sudo is true
scm :subversionyesSCM class to use, allowed: :subversion, :cvs, :bzr, :darcs, :mercurial, :perforce, :none
copy_strategy :checkoutyes If you use deploy_via with :copy, this defines how the local files are created. :checkout or :export allowed.
branch HEADyes Git branch, tag or SHA1 to deploy
remote origin yes Git: Name of remote tracking repository. This option is intended for use with the :remote_cache strategy in a distributed git environment


For further tuning:

Name Default Optional?Description
copy_compression:gzip yes Compression method for copying to the SCM file to the remote servers Allowed: :gzip, :gz, :bzip2, :bz2, :zip
repository_cachecached-copy yes Name of directory under shared_path that will be used for :remote_cache SCM strategy
copy_remote_dir/tmp yes Name of directory that the :copy SCM strategy will use on the remote host for temp. unpacking of project
copy_dirDir.tmpdir yes Name of directory that the :copy SCM strategy will use on the local host for temp. packing of project
rails_envproductionyesRAILS_ENV, used by migrations. For the RAILS_ENV of the application server set it either in your our mongrel.conf or in your spin script if you use FastCGI
rakerakeyes Name and path of Rake program
sudosudoyes Name and path of sudo program
scm_command yes Dependent of SCM strategie, e.g. 'svn' for subversion
scm_verbose false yes If set to true the output the the SCM command will be logged
scm_passphrase yes Git: passphrase for the user's key
scm_prefer_prompt false yes By default Capistrano will pass the SCM password as a command line argument (--password XXXX) to subversion. If set to true Capistrano will wait for subversion to prompt for the password and then pass it.
scm_auth_cache false yes If set to true subversion will cache the authentication (so no --no-auth-cache is passed).
migrate_envrails_envyes Additional Environment variables for rake db:migrate can be set here. The migraion environment itself is set through rails_env.
migrate_target:latestyes VERSION for db:migrate by default the lastest
gem_commandgemyes Name and path of gem program
keep_releases5yes How many releases to keep after deploy:cleanup is run
gateway yes Name of SSH gateway
admin_runnerrootyes User to sudo to for deploy:setup and deploy:cleanup
normalize_asset_timestamps trueyes Set to false to disable asset timestamping with touch
default_shell /bin/bashyes default shell for tasks
shell /bin/bashyes shell for tasks
git_enable_submodules falseyes will init and update git submodules
git_shallow_clone falseyes Git: Set to '1' for faster git cloning. This will set the '--depth' flag using the depth specified. This *cannot* be used together with the :remote_cache strategy.


Webistrano specific:

Name Default Optional?Description
mongrel_config no for Mongrel projects Absolute path to mongrel_cluster configuration file
mod_rails_restart_file no for mod_rails projects Absolut path to restart.txt
apache_init_script no for mod_rails projects Absolut path to Apache2.2 init script, e.g. /etc/init.d/apache22
ssh_port yes Global setting of the SSH port of all remote hosts. In pure Capistrano this is set through ssh_options[:port]
ssh_keys yes List of paths to SSH key ids, in pure Capistrano this is set through ssh_options[:keys]. Make sure to also have the public key next to the private key.
If ssh_keys is set to /my/path/id_rsa then there should be a /my/path/id_rsa.pub file accessible to the user running Webistrano.