Caddy (Caddy v2.0.1)

Caddy

Start Caddy HTTP Server in supervisor tree

  • Start in your application
def start(_type, _args) do
  children = [
    # Start a Caddy by calling: Caddy.start_link([])
    {Caddy, [
      caddy_bin: "/usr/bin/caddy",
    ]}
    # Start the Telemetry supervisor
    PhoenixWeb.Telemetry,
    # Start the PubSub system
    {Phoenix.PubSub, name: PhoenixWeb.PubSub},
    # Start the Endpoint (http/https)
    PhoenixWeb.Endpoint
  ]

  opts = [strategy: :one_for_one, name: PhoenixWeb.Supervisor]
  Supervisor.start_link(children, opts)
end
  • Start in extra_applications
def application do
  [
    extra_applications: [Caddy.Application]
  ]
end
  • Notice

If caddy_bin is not specifiy, Caddy.Server will not start.

Set caddy_bin to the path of Caddy binary file and start Caddy.Server.

Caddy.Cofnig.set_bin("/usr/bin/caddy")
Caddy.restart_server()

This will restart server automatically

Caddy.Cofnig.set_bin!("/usr/bin/caddy")

Summary

Functions

Returns a specification to start this module under a supervisor.

Restart Caddy Server

Manually Start Caddy Server.

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

restart_server()

Restart Caddy Server

start()

@spec start() :: :ignore | {:error, any()} | {:ok, pid()}

start(caddy_bin)

@spec start(binary()) :: :ignore | {:error, any()} | {:ok, pid()}

Manually Start Caddy Server.

This is useful when you want to start Caddy Server in iex console.

start_link(args)

@spec start_link(Keyword.t()) :: :ignore | {:error, any()} | {:ok, pid()}

stop(reason \\ :normal)

@spec stop(term()) :: :ok