By “commands” here we really mean console commands, e.g. things you might enter on a terminal, or run via shell script or cron job.

Typical Usage

Unless there is a specific reason not to, all commands should be ran from the root of your virtual environment. For example this command will generate and display a new UUID:

cd /srv/envs/poser
bin/rattail -c app/quiet.conf make-uuid

Also note that in general, you should always specify a config file as part of the command line (as shown above).

Getting Help

You can always just add -h (or --help) to the end of any command line. This will render the command “inert” and the only thing it will do, is display some help text.

Really there are 2 “layers” to the command framework: commands proper, and subcommands. In the example above, bin/rattail is the command proper, and make-uuid is the subcommand.

To get help on the command proper, add -h to your command line but omit the subcommand, e.g.:

bin/rattail -c app/quiet.conf -h

To get help on a subcommand, you must include the subcommand name as though you were running it, then also add -h to the command line:

bin/rattail -c app/quiet.conf make-uuid -h

Usage with sudo

If your virtual environment is owned by someone other than yourself, then you probably should run commands as that user also:

cd /srv/envs/poser
sudo -u rattail bin/rattail -c app/quiet.conf make-uuid

Among other things this may be necessary so that:

  • user has permission to read from config files which may be restricted

  • user has permission to write to log file(s) which may be restricted