1
0
mirror of https://github.com/algora-io/tv.git synced 2024-11-26 01:00:20 +02:00
algora-tv/config/dev.exs

159 lines
5.1 KiB
Elixir
Raw Normal View History

2024-02-29 21:31:42 +02:00
import Config
2024-10-08 20:42:52 +02:00
transcode_backend = case System.get_env("MIX_TARGET") do
"nvidia" -> Membrane.ABRTranscoder.Backends.Nvidia
"xilinx" -> Membrane.ABRTranscoder.Backends.U30
_ -> nil
end
flame_backend = case System.get_env("FLAME_BACKEND") do
"fly" -> FLAME.FlyBackend
_ -> FLAME.LocalBackend
end
config :algora,
mode: :dev,
2024-10-11 02:58:26 +02:00
resume_rtmp: System.get_env("RESUME_RTMP", "false") == "true",
resume_rtmp_on_unpublish: System.get_env("RESUME_RTMP_ON_UNPUBLUSH", "false") == "true",
resume_rtmp_timeout: System.get_env("RESUME_RTMP_TIMEOUT", "3200"),
supports_h265: System.get_env("SUPPORTS_H265", "false") == "true",
transcode: (case System.get_env("TRANSCODE") do
"" -> nil
other -> other
end),
transcode_include_master: System.get_env("TRANSCODE_INCLUDE_MASTER", "false") == "true",
2024-10-09 03:29:32 +02:00
transcode_backend: transcode_backend,
rtmp_port: String.to_integer(System.get_env("RTMP_PORT", "9006"))
2024-05-01 22:34:05 +02:00
config :algora, :buckets,
media: System.get_env("BUCKET_MEDIA"),
ml: System.get_env("BUCKET_ML")
2024-02-29 21:31:42 +02:00
config :algora, :github,
client_id: System.get_env("GITHUB_CLIENT_ID"),
client_secret: System.get_env("GITHUB_CLIENT_SECRET")
2024-05-22 16:03:18 +02:00
config :algora, :restream,
client_id: System.get_env("RESTREAM_CLIENT_ID"),
client_secret: System.get_env("RESTREAM_CLIENT_SECRET")
2024-02-29 21:31:42 +02:00
config :algora, :event_sink, url: System.get_env("EVENT_SINK_URL")
2024-11-01 04:42:19 +02:00
config :algora, :flame,
backend: flame_backend,
min: String.to_integer(System.get_env("FLAME_MAX", "1")),
max: String.to_integer(System.get_env("FLAME_MAX", "1")),
max_concurrency: String.to_integer(System.get_env("FLAME_MAX_CONCURRENCY", "10")),
idle_shutdown_after: String.to_integer(System.get_env("FLAME_IDLE_SHUTDOWN_AFTER", "30")),
log: String.to_atom(System.get_env("FLAME_LOG", "debug"))
2024-02-29 21:31:42 +02:00
config :ex_aws,
# debug_requests: true,
json_codec: Jason,
access_key_id: System.get_env("AWS_ACCESS_KEY_ID"),
secret_access_key: System.get_env("AWS_SECRET_ACCESS_KEY")
config :ex_aws, :s3,
scheme: "https://",
host:
(with url when url != nil <- System.get_env("AWS_ENDPOINT_URL_S3"),
host <- URI.parse(url).host do
host
else
_ -> nil
end),
region: System.get_env("AWS_REGION")
2024-06-03 13:36:26 +02:00
config :ex_aws, :hackney_opts,
timeout: 300_000,
recv_timeout: 300_000
2024-06-02 16:13:41 +02:00
2024-02-29 21:31:42 +02:00
# Configure your database
config :algora, Algora.Repo,
url: System.get_env("DATABASE_URL"),
show_sensitive_data_on_connection_error: true,
2024-04-27 21:04:37 +02:00
pool_size: 10,
log: false
2024-02-29 21:31:42 +02:00
config :algora, Algora.Repo.Local,
2024-02-29 21:31:42 +02:00
url: System.get_env("DATABASE_URL"),
show_sensitive_data_on_connection_error: true,
pool_size: 10,
2024-04-27 21:04:37 +02:00
priv: "priv/repo",
log: false
2024-02-29 21:31:42 +02:00
# For development, we disable any cache and enable
# debugging and code reloading.
#
# The watchers configuration can be used to run external
# watchers to your application. For example, we use it
# with esbuild to bundle .js and .css sources.
config :algora, AlgoraWeb.Endpoint,
# Binding to loopback ipv4 address prevents access from other machines.
# Change to `ip: {0, 0, 0, 0}` to allow access from other machines.
2024-10-09 03:29:32 +02:00
http: [ip: {0, 0, 0, 0}, port: String.to_integer(System.get_env("PORT") || "4000") ],
2024-02-29 21:31:42 +02:00
debug_errors: true,
code_reloader: true,
check_origin: false,
watchers: [
esbuild: {Esbuild, :install_and_run, [:tv, ~w(--sourcemap=inline --watch)]},
tailwind: {Tailwind, :install_and_run, [:tv, ~w(--watch)]}
2024-02-29 21:31:42 +02:00
]
config :algora, AlgoraWeb.Embed.Endpoint,
# Binding to loopback ipv4 address prevents access from other machines.
# Change to `ip: {0, 0, 0, 0}` to allow access from other machines.
2024-10-09 03:29:32 +02:00
http: [ip: {0, 0, 0, 0}, port: String.to_integer(System.get_env("EMBED_PORT") || "4001")]
2024-02-29 21:31:42 +02:00
# ## SSL Support
#
# In order to use HTTPS in development, a self-signed
# certificate can be generated by running the following
# Mix task:
#
# mix phx.gen.cert
#
# Note that this task requires Erlang/OTP 20 or later.
# Run `mix help phx.gen.cert` for more information.
#
# The `http:` config above can be replaced with:
#
# https: [
# port: 4001,
# cipher_suite: :strong,
# keyfile: "priv/cert/selfsigned_key.pem",
# certfile: "priv/cert/selfsigned.pem"
# ],
#
# If desired, both `http:` and `https:` keys can be
# configured to run both http and https servers on
# different ports.
# Watch static and templates for browser reloading.
config :algora, AlgoraWeb.Endpoint,
live_reload: [
patterns: [
2024-09-20 17:09:59 +02:00
~r"priv/static/.*(js|css|png|jpeg|jpg|gif|svg|json)$",
2024-02-29 21:31:42 +02:00
~r"priv/gettext/.*(po)$",
~r"lib/algora_web/(live|views)/.*(ex)$",
~r"lib/algora_web/templates/.*(eex)$"
]
]
2024-05-26 21:24:39 +02:00
config :algora, :docs, url: "http://localhost:3000"
2024-02-29 21:31:42 +02:00
# Do not include metadata nor timestamps in development logs
config :logger, :console, format: "[$level] $message\n"
# Set a higher stacktrace during development. Avoid configuring such
# in production as building large stacktraces may be expensive.
config :phoenix, :stacktrace_depth, 20
# Initialize plugs at runtime for faster development compilation
config :phoenix, :plug_init_mode, :runtime
# Disable swoosh api client as it is only required for production adapters.
config :swoosh, :api_client, false
2024-05-26 21:24:39 +02:00
config :reverse_proxy_plug, :http_client, ReverseProxyPlug.HTTPClient.Adapters.HTTPoison