NAME
    Toadfarm - One Mojolicious app to rule them all

VERSION
    0.52

DESCRIPTION
    Toadfarm is a module for configuring and starting your Mojolicious
    applications. You can either combine multiple applications in one
    script, or just use it as a init script.

    Core features:

    *   Wrapper around hypnotoad that makes your application Sys-V
        <https://www.debian-administration.org/article/28/Making_scripts_run
        _at_boot_time_with_Debian> compatible.

    *   Advanced routing and virtual host configuration. Also support
        routing from behind another web server, such as nginx
        <http://nginx.com/>. This feature is very much like
        Mojolicious::Plugin::Mount on steroids.

    *   Hijacking log messages to a common log file. There's also plugin,
        Toadfarm::Plugin::AccessLog, that allows you to log the requests
        sent to your server.

SYNOPSIS
  Script
    Here is an example script that sets up logging and mounts some
    applications under different domains, as well as loading in some custom
    plugins.

    See Toadfarm::Manual::DSL for more information about the different
    functions.

      #!/usr/bin/perl
      use Toadfarm -init;

      logging {
        combined => 1,
        file     => "/var/log/toadfarm/app.log",
        level    => "info",
      };

      mount "MyApp"        => {"Host" => "myapp.example.com"};
      mount "/path/to/app" => {"Host" => "example.com", mount_point => "/other"};
      mount "Catch::All::App";

      plugin "Toadfarm::Plugin::AccessLog";

      start; # needs to be at the last line

  Usage
    You don't have to put "Script" in init.d, but it will work with standard
    start/stop actions.

      $ /etc/init.d/your-script reload
      $ /etc/init.d/your-script start
      $ /etc/init.d/your-script stop

    You can also start the application with normal Mojolicious commands:

      $ morbo /etc/init.d/your-script
      $ /etc/init.d/your-script daemon

DOCUMENTATION INDEX
    *   Toadfarm::Manual::Intro - Introduction.

    *   Toadfarm::Manual::DSL - Domain specific language for Toadfarm.

    *   Toadfarm::Manual::Config - Config file format.

    *   Toadfarm::Manual::RunningToadfarm - Command line options.

    *   Toadfarm::Manual::BehindReverseProxy - Toadfarm behind nginx.

    *   Toadfarm::Manual::VirtualHost - Virtual host setup.

PLUGINS
    *   Toadfarm::Plugin::AccessLog

    *   Toadfarm::Plugin::Reload

COPYRIGHT AND LICENSE
    Copyright (C) 2014, Jan Henning Thorsen

    This program is free software, you can redistribute it and/or modify it
    under the terms of the Artistic License version 2.0.

AUTHOR
    Jan Henning Thorsen - "jhthorsen@cpan.org"

