mirror of
https://github.com/benbusby/farside.git
synced 2025-04-20 19:08:42 +00:00
29 lines
800 B
Elixir
29 lines
800 B
Elixir
defmodule Farside.Application do
|
|
@moduledoc false
|
|
|
|
use Application
|
|
|
|
@impl true
|
|
def start(_type, _args) do
|
|
farside_port = Application.fetch_env!(:farside, :port)
|
|
data_dir = Application.fetch_env!(:farside, :data_dir)
|
|
IO.puts "Running on http://localhost:#{farside_port}"
|
|
|
|
children = [
|
|
Plug.Cowboy.child_spec(
|
|
scheme: :http,
|
|
plug: Farside.Router,
|
|
options: [
|
|
port: String.to_integer(farside_port)
|
|
]
|
|
),
|
|
{PlugAttack.Storage.Ets, name: Farside.Throttle.Storage, clean_period: 60_000},
|
|
{CubDB, [data_dir: data_dir, name: CubDB, auto_compact: true]},
|
|
Farside.Scheduler,
|
|
Farside.Server
|
|
]
|
|
|
|
opts = [strategy: :one_for_one, name: Farside.Supervisor]
|
|
Supervisor.start_link(children, opts)
|
|
end
|
|
end
|