import Config # Configure your database config :music_library, MusicLibrary.Repo, database: Path.expand("../data/music_library_dev.db", __DIR__), pool_size: 10, stacktrace: true, show_sensitive_data_on_connection_error: true config :music_library, MusicLibrary.BackgroundRepo, database: Path.expand("../data/music_library_background_dev.db", __DIR__), pool_size: 5, stacktrace: true, show_sensitive_data_on_connection_error: true config :music_library, MusicLibrary.TelemetryRepo, database: Path.expand("../data/music_library_telemetry_dev.db", __DIR__), pool_size: 3, stacktrace: true, show_sensitive_data_on_connection_error: true # 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 can use it # to bundle .js and .css sources. config :music_library, MusicLibraryWeb.Endpoint, # Binding to loopback ipv4 address prevents access from other machines. # Change to `ip: {0, 0, 0, 0}` to allow access from other machines. http: [ip: {0, 0, 0, 0}, port: String.to_integer(System.get_env("PORT") || "4003")], check_origin: false, code_reloader: true, debug_errors: true, secret_key_base: "qhvuJEFt5aYfJap8HXuJqV3wyn85Ktn2pdTRji74GXRGk0Uyqj4faucZ4eLszDZw", watchers: [ esbuild: {Esbuild, :install_and_run, [:music_library, ~w(--sourcemap=inline --watch)]}, tailwind: {Tailwind, :install_and_run, [:music_library, ~w(--watch)]} ] # ## 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 # # 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 :music_library, MusicLibraryWeb.Endpoint, live_reload: [ web_console_logger: true, patterns: [ # Static assets, except user uploads ~r"priv/static/(?!uploads/).*\.(js|css|png|jpeg|jpg|gif|svg)$"E, # Gettext translations ~r"priv/gettext/.*\.po$"E, # Router, Controllers, LiveViews and LiveComponents ~r"lib/music_library_web/router\.ex$"E, ~r"lib/music_library_web/(controllers|live|components)/.*\.(ex|heex)$"E ] ] # Enable dev routes for dashboard and mailbox config :music_library, monitoring_routes: true config :music_library, MusicLibrary.Mailer, adapter: Swoosh.Adapters.Local config :music_library, Oban, plugins: [ {Oban.Plugins.Cron, timezone: "Europe/London", crontab: [ # every 8 minutes (closest cron equivalent to previous 500s dev interval) {"*/8 * * * *", MusicLibrary.Worker.RefreshScrobbles} ]} ] # Do not include metadata nor timestamps in development logs config :logger, :default_formatter, 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 config :phoenix_live_view, # Include debug annotations and locations in rendered markup. # Changing this configuration will require mix clean and a full recompile. debug_heex_annotations: true, debug_attributes: true, # Enable helpful, but potentially expensive runtime checks enable_expensive_runtime_checks: true