ry ser wrote:
> saen acro wrote:
> > Just plain auth, but web :4000 is still not active
> >
> > [...]
>
> What is the log from the container?
docker compose up
[+] Running 2/0
⠿ Container tvhstats-db-1 Created 0.0s
⠿ Container tvhstats-tvhstats-1 Created 0.0s
Attaching to tvhstats-db-1, tvhstats-tvhstats-1
tvhstats-db-1 |
tvhstats-db-1 | PostgreSQL Database directory appears to contain a database; Skipping initialization
tvhstats-db-1 |
tvhstats-db-1 | 2022-10-16 16:02:26.825 UTC [1] LOG: starting PostgreSQL 15.0 (Debian 15.0-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
tvhstats-db-1 | 2022-10-16 16:02:26.826 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
tvhstats-db-1 | 2022-10-16 16:02:26.826 UTC [1] LOG: listening on IPv6 address "::", port 5432
tvhstats-db-1 | 2022-10-16 16:02:26.829 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
tvhstats-db-1 | 2022-10-16 16:02:26.834 UTC [27] LOG: database system was shut down at 2022-10-16 16:02:07 UTC
tvhstats-db-1 | 2022-10-16 16:02:26.841 UTC [1] LOG: database system is ready to accept connections
tvhstats-tvhstats-1 | Resolving Hex dependencies...
tvhstats-tvhstats-1 | Dependency resolution completed:
tvhstats-tvhstats-1 | Unchanged:
tvhstats-tvhstats-1 | castore 0.1.18
tvhstats-tvhstats-1 | certifi 2.9.0
tvhstats-tvhstats-1 | connection 1.1.0
tvhstats-tvhstats-1 | cowboy 2.9.0
tvhstats-tvhstats-1 | cowboy_telemetry 0.4.0
tvhstats-tvhstats-1 | cowlib 2.11.0
tvhstats-tvhstats-1 | dart_sass 0.5.1
tvhstats-tvhstats-1 | db_connection 2.4.2
tvhstats-tvhstats-1 | decimal 2.0.0
tvhstats-tvhstats-1 | ecto 3.9.0
tvhstats-tvhstats-1 | ecto_sql 3.9.0
tvhstats-tvhstats-1 | esbuild 0.5.0
tvhstats-tvhstats-1 | file_system 0.2.10
tvhstats-tvhstats-1 | finch 0.13.0
tvhstats-tvhstats-1 | floki 0.33.1
tvhstats-tvhstats-1 | gen_stage 1.1.2
tvhstats-tvhstats-1 | gettext 0.20.0
tvhstats-tvhstats-1 | hackney 1.18.1
tvhstats-tvhstats-1 | hpax 0.1.2
tvhstats-tvhstats-1 | html_entities 0.5.2
tvhstats-tvhstats-1 | idna 6.1.1
tvhstats-tvhstats-1 | jason 1.4.0
tvhstats-tvhstats-1 | metrics 1.0.1
tvhstats-tvhstats-1 | mime 2.0.3
tvhstats-tvhstats-1 | mimerl 1.2.0
tvhstats-tvhstats-1 | mint 1.4.2
tvhstats-tvhstats-1 | nimble_options 0.4.0
tvhstats-tvhstats-1 | nimble_pool 0.2.6
tvhstats-tvhstats-1 | parse_trans 3.3.1
tvhstats-tvhstats-1 | phoenix 1.6.13
tvhstats-tvhstats-1 | phoenix_ecto 4.4.0
tvhstats-tvhstats-1 | phoenix_html 3.2.0
tvhstats-tvhstats-1 | phoenix_live_dashboard 0.6.5
tvhstats-tvhstats-1 | phoenix_live_reload 1.3.3
tvhstats-tvhstats-1 | phoenix_live_view 0.17.12
tvhstats-tvhstats-1 | phoenix_pubsub 2.1.1
tvhstats-tvhstats-1 | phoenix_view 1.1.2
tvhstats-tvhstats-1 | plug 1.13.6
tvhstats-tvhstats-1 | plug_cowboy 2.5.2
tvhstats-tvhstats-1 | plug_crypto 1.2.3
tvhstats-tvhstats-1 | postgrex 0.16.5
tvhstats-tvhstats-1 | ranch 1.8.0
tvhstats-tvhstats-1 | sizeable 1.0.2
tvhstats-tvhstats-1 | ssl_verify_fun 1.1.6
tvhstats-tvhstats-1 | swoosh 1.8.0
tvhstats-tvhstats-1 | tailwind 0.1.9
tvhstats-tvhstats-1 | tarams 1.7.0
tvhstats-tvhstats-1 | telemetry 1.1.0
tvhstats-tvhstats-1 | telemetry_metrics 0.6.1
tvhstats-tvhstats-1 | telemetry_poller 1.0.0
tvhstats-tvhstats-1 | tzdata 1.1.1
tvhstats-tvhstats-1 | unicode_util_compat 0.7.0
tvhstats-tvhstats-1 | uri_query 0.1.2
tvhstats-tvhstats-1 | valdi 0.3.0
tvhstats-tvhstats-1 | All dependencies are up to date
tvhstats-tvhstats-1 |
tvhstats-tvhstats-1 | 16:02:32.900 [info] Migrations already up
tvhstats-tvhstats-1 | [info] [Janitor] Cleaning up records task started.
tvhstats-tvhstats-1 | [info] [CacheWarmer] Task Retrieve icons started.
tvhstats-tvhstats-1 | [info] [CacheWarmer] Icons folder does not exist, creating it.
tvhstats-tvhstats-1 | [info] [CacheWarmer] Saving icons to: /app/priv/static/assets/icons
tvhstats-tvhstats-1 | [debug] QUERY OK source="subscriptions" db=1.0ms decode=11.3ms queue=54.0ms idle=0.0ms
tvhstats-tvhstats-1 | SELECT s0."hash", s0."user", s0."channel", s0."ip", s0."client", s0."stream_type", s0."started_at", s0."stopped_at", s0."inserted_at", s0."updated_at" FROM "subscriptions" AS s0 WHERE (s0."stopped_at" IS NULL) []
tvhstats-tvhstats-1 | ↳ TVHStats.Worker.Janitor.cleanup_records/0, at: lib/tvhstats/worker/janitor.ex:18
tvhstats-tvhstats-1 | [info] Running TVHStatsWeb.Endpoint with cowboy 2.9.0 at 0.0.0.0:4000 (http)
tvhstats-tvhstats-1 | [debug] Downloading tailwind from https://github.com/tailwindlabs/tailwindcss/releases/download/v3.1.8/tailwindcss-linux-x64
tvhstats-tvhstats-1 | [debug] Downloading esbuild from https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.29.tgz
tvhstats-tvhstats-1 | [debug] Downloading dart-sass from https://github.com/sass/dart-sass/releases/download/1.55.0/dart-sass-1.55.0-linux-x64.tar.gz
tvhstats-tvhstats-1 | [info] Access TVHStatsWeb.Endpoint at http://192.168.1.15:4000
tvhstats-tvhstats-1 | [info] API polling worker started. Poll interval: 1000
tvhstats-tvhstats-1 | [error] Task #PID<0.516.0> started from TVHStats.Supervisor terminating
tvhstats-tvhstats-1 | ** (MatchError) no match of right hand side value: {:ok, %Finch.Response{status: 401, body: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\r\n<HTML><HEAD>\r\n<TITLE>401 Unauthorized</TITLE>\r\n</HEAD><BODY>\r\n<H1>401 Unauthorized</H1>\r\n<P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">Default login</A></P><P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/login\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">New login</A></P></BODY></HTML>\r\n", headers: [{"server", "HTS/tvheadend"}, {"cache-control", "no-cache"}, {"www-authenticate", "Basic realm=\"tvheadend\""}, {"connection", "Keep-Alive"}, {"content-type", "text/html"}, {"content-length", "432"}]}}
tvhstats-tvhstats-1 | (tvhstats 0.0.1) lib/tvhstats/api/client.ex:31: TVHStats.API.Client.get_channels/3
tvhstats-tvhstats-1 | (tvhstats 0.0.1) lib/tvhstats/worker/cache_warmer.ex:21: TVHStats.Worker.CacheWarmer.retrieve_icons/0
tvhstats-tvhstats-1 | (elixir 1.14.1) lib/task/supervised.ex:89: Task.Supervised.invoke_mfa/2
tvhstats-tvhstats-1 | (stdlib 4.1.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
tvhstats-tvhstats-1 | Function: &TVHStats.Worker.CacheWarmer.retrieve_icons/0
tvhstats-tvhstats-1 | Args: []
tvhstats-tvhstats-1 | [error] Task #PID<0.515.0> started from TVHStats.Supervisor terminating
tvhstats-tvhstats-1 | ** (MatchError) no match of right hand side value: {:ok, %Finch.Response{status: 401, body: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\r\n<HTML><HEAD>\r\n<TITLE>401 Unauthorized</TITLE>\r\n</HEAD><BODY>\r\n<H1>401 Unauthorized</H1>\r\n<P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">Default login</A></P><P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/login\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">New login</A></P></BODY></HTML>\r\n", headers: [{"server", "HTS/tvheadend"}, {"cache-control", "no-cache"}, {"www-authenticate", "Basic realm=\"tvheadend\""}, {"connection", "Keep-Alive"}, {"content-type", "text/html"}, {"content-length", "432"}]}}
tvhstats-tvhstats-1 | (tvhstats 0.0.1) lib/tvhstats/api/client.ex:15: TVHStats.API.Client.get_streams/0
tvhstats-tvhstats-1 | (tvhstats 0.0.1) lib/tvhstats/worker/janitor.ex:22: TVHStats.Worker.Janitor.cleanup_records/0
tvhstats-tvhstats-1 | (elixir 1.14.1) lib/task/supervised.ex:89: Task.Supervised.invoke_mfa/2
tvhstats-tvhstats-1 | (stdlib 4.1.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
tvhstats-tvhstats-1 | Function: &TVHStats.Worker.Janitor.cleanup_records/0
tvhstats-tvhstats-1 | Args: []
tvhstats-tvhstats-1 | [error] GenServer TVHStats.Worker.Producer terminating
tvhstats-tvhstats-1 | ** (MatchError) no match of right hand side value: {:ok, %Finch.Response{status: 401, body: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\r\n<HTML><HEAD>\r\n<TITLE>401 Unauthorized</TITLE>\r\n</HEAD><BODY>\r\n<H1>401 Unauthorized</H1>\r\n<P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">Default login</A></P><P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/login\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">New login</A></P></BODY></HTML>\r\n", headers: [{"server", "HTS/tvheadend"}, {"cache-control", "no-cache"}, {"www-authenticate", "Basic realm=\"tvheadend\""}, {"connection", "Keep-Alive"}, {"content-type", "text/html"}, {"content-length", "432"}]}}
tvhstats-tvhstats-1 | (tvhstats 0.0.1) lib/tvhstats/api/client.ex:15: TVHStats.API.Client.get_streams/0
tvhstats-tvhstats-1 | (tvhstats 0.0.1) lib/tvhstats/worker/producer.ex:34: TVHStats.Worker.Producer.handle_cast/2
tvhstats-tvhstats-1 | (gen_stage 1.1.2) lib/gen_stage.ex:2134: GenStage.noreply_callback/3
tvhstats-tvhstats-1 | (stdlib 4.1.1) gen_server.erl:1123: :gen_server.try_dispatch/4
tvhstats-tvhstats-1 | (stdlib 4.1.1) gen_server.erl:1200: :gen_server.handle_msg/6
tvhstats-tvhstats-1 | (stdlib 4.1.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
tvhstats-tvhstats-1 | Last message: {:"$gen_cast", :fetch}
tvhstats-tvhstats-1 | State: %{poll_interval: 1000}
tvhstats-tvhstats-1 | [info] API polling worker started. Poll interval: 1000
tvhstats-tvhstats-1 | [notice] GenStage consumer TVHStats.Worker.Consumer is stopping after receiving cancel from producer #PID<0.645.0> with reason: {{:badmatch,
tvhstats-tvhstats-1 | {:ok,
tvhstats-tvhstats-1 | %Finch.Response{
tvhstats-tvhstats-1 | status: 401,
tvhstats-tvhstats-1 | body: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\r\n<HTML><HEAD>\r\n<TITLE>401 Unauthorized</TITLE>\r\n</HEAD><BODY>\r\n<H1>401 Unauthorized</H1>\r\n<P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">Default login</A></P><P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/login\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">New login</A></P></BODY></HTML>\r\n",
tvhstats-tvhstats-1 | headers: [
tvhstats-tvhstats-1 | {"server", "HTS/tvheadend"},
tvhstats-tvhstats-1 | {"cache-control", "no-cache"},
tvhstats-tvhstats-1 | {"www-authenticate", "Basic realm=\"tvheadend\""},
tvhstats-tvhstats-1 | {"connection", "Keep-Alive"},
tvhstats-tvhstats-1 | {"content-type", "text/html"},
tvhstats-tvhstats-1 | {"content-length", "432"}
tvhstats-tvhstats-1 | ]
tvhstats-tvhstats-1 | }}},
tvhstats-tvhstats-1 | [
tvhstats-tvhstats-1 | {TVHStats.API.Client, :get_streams, 0,
tvhstats-tvhstats-1 | [file: 'lib/tvhstats/api/client.ex', line: 15]},
tvhstats-tvhstats-1 | {TVHStats.Worker.Producer, :handle_cast, 2,
tvhstats-tvhstats-1 | [file: 'lib/tvhstats/worker/producer.ex', line: 34]},
tvhstats-tvhstats-1 | {GenStage, :noreply_callback, 3, [file: 'lib/gen_stage.ex', line: 2134]},
tvhstats-tvhstats-1 | {:gen_server, :try_dispatch, 4, [file: 'gen_server.erl', line: 1123]},
tvhstats-tvhstats-1 | {:gen_server, :handle_msg, 6, [file: 'gen_server.erl', line: 1200]},
tvhstats-tvhstats-1 | {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 240]}
tvhstats-tvhstats-1 | ]}
tvhstats-tvhstats-1 |
tvhstats-tvhstats-1 | [error] GenServer TVHStats.Worker.Consumer terminating
tvhstats-tvhstats-1 | ** (MatchError) no match of right hand side value: {:ok, %Finch.Response{status: 401, body: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\r\n<HTML><HEAD>\r\n<TITLE>401 Unauthorized</TITLE>\r\n</HEAD><BODY>\r\n<H1>401 Unauthorized</H1>\r\n<P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">Default login</A></P><P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/login\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">New login</A></P></BODY></HTML>\r\n", headers: [{"server", "HTS/tvheadend"}, {"cache-control", "no-cache"}, {"www-authenticate", "Basic realm=\"tvheadend\""}, {"connection", "Keep-Alive"}, {"content-type", "text/html"}, {"content-length", "432"}]}}
tvhstats-tvhstats-1 | (tvhstats 0.0.1) lib/tvhstats/api/client.ex:15: TVHStats.API.Client.get_streams/0
tvhstats-tvhstats-1 | (tvhstats 0.0.1) lib/tvhstats/worker/producer.ex:34: TVHStats.Worker.Producer.handle_cast/2
tvhstats-tvhstats-1 | (gen_stage 1.1.2) lib/gen_stage.ex:2134: GenStage.noreply_callback/3
tvhstats-tvhstats-1 | (stdlib 4.1.1) gen_server.erl:1123: :gen_server.try_dispatch/4
tvhstats-tvhstats-1 | (stdlib 4.1.1) gen_server.erl:1200: :gen_server.handle_msg/6
tvhstats-tvhstats-1 | (stdlib 4.1.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
tvhstats-tvhstats-1 | Last message: {:DOWN, #Reference<0.1752657894.1704198145.91240>, :process, #PID<0.645.0>, {{:badmatch, {:ok, %Finch.Response{status: 401, body: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\r\n<HTML><HEAD>\r\n<TITLE>401 Unauthorized</TITLE>\r\n</HEAD><BODY>\r\n<H1>401 Unauthorized</H1>\r\n<P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">Default login</A></P><P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/login\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">New login</A></P></BODY></HTML>\r\n", headers: [{"server", "HTS/tvheadend"}, {"cache-control", "no-cache"}, {"www-authenticate", "Basic realm=\"tvheadend\""}, {"connection", "Keep-Alive"}, {"content-type", "text/html"}, {"content-length", "432"}]}}}, [{TVHStats.API.Client, :get_streams, 0, [file: 'lib/tvhstats/api/client.ex', line: 15]}, {TVHStats.Worker.Producer, :handle_cast, 2, [file: 'lib/tvhstats/worker/producer.ex', line: 34]}, {GenStage, :noreply_callback, 3, [file: 'lib/gen_stage.ex', line: 2134]}, {:gen_server, :try_dispatch, 4, [file: 'gen_server.erl', line: 1123]}, {:gen_server, :handle_msg, 6, [file: 'gen_server.erl', line: 1200]}, {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 240]}]}}
tvhstats-tvhstats-1 | State: []
tvhstats-tvhstats-1 | [watch] build finished, watching for changes...
tvhstats-tvhstats-1 | [error] GenServer TVHStats.Worker.Producer terminating
tvhstats-tvhstats-1 | ** (MatchError) no match of right hand side value: {:ok, %Finch.Response{status: 401, body: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\r\n<HTML><HEAD>\r\n<TITLE>401 Unauthorized</TITLE>\r\n</HEAD><BODY>\r\n<H1>401 Unauthorized</H1>\r\n<P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">Default login</A></P><P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/login\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">New login</A></P></BODY></HTML>\r\n", headers: [{"server", "HTS/tvheadend"}, {"cache-control", "no-cache"}, {"www-authenticate", "Basic realm=\"tvheadend\""}, {"connection", "Keep-Alive"}, {"content-type", "text/html"}, {"content-length", "432"}]}}
tvhstats-tvhstats-1 | (tvhstats 0.0.1) lib/tvhstats/api/client.ex:15: TVHStats.API.Client.get_streams/0
tvhstats-tvhstats-1 | (tvhstats 0.0.1) lib/tvhstats/worker/producer.ex:34: TVHStats.Worker.Producer.handle_cast/2
tvhstats-tvhstats-1 | (gen_stage 1.1.2) lib/gen_stage.ex:2134: GenStage.noreply_callback/3
tvhstats-tvhstats-1 | (stdlib 4.1.1) gen_server.erl:1123: :gen_server.try_dispatch/4
tvhstats-tvhstats-1 | (stdlib 4.1.1) gen_server.erl:1200: :gen_server.handle_msg/6
tvhstats-tvhstats-1 | (stdlib 4.1.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
tvhstats-tvhstats-1 | Last message: {:"$gen_cast", :fetch}
tvhstats-tvhstats-1 | State: %{poll_interval: 1000}
tvhstats-tvhstats-1 | [info] API polling worker started. Poll interval: 1000
tvhstats-tvhstats-1 | [notice] GenStage consumer TVHStats.Worker.Consumer is stopping after receiving cancel from producer #PID<0.665.0> with reason: {{:badmatch,
tvhstats-tvhstats-1 | {:ok,
tvhstats-tvhstats-1 | %Finch.Response{
tvhstats-tvhstats-1 | status: 401,
tvhstats-tvhstats-1 | body: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\r\n<HTML><HEAD>\r\n<TITLE>401 Unauthorized</TITLE>\r\n</HEAD><BODY>\r\n<H1>401 Unauthorized</H1>\r\n<P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">Default login</A></P><P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/login\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">New login</A></P></BODY></HTML>\r\n",
tvhstats-tvhstats-1 | headers: [
tvhstats-tvhstats-1 | {"server", "HTS/tvheadend"},
tvhstats-tvhstats-1 | {"cache-control", "no-cache"},
tvhstats-tvhstats-1 | {"www-authenticate", "Basic realm=\"tvheadend\""},
tvhstats-tvhstats-1 | {"connection", "Keep-Alive"},
tvhstats-tvhstats-1 | {"content-type", "text/html"},
tvhstats-tvhstats-1 | {"content-length", "432"}
tvhstats-tvhstats-1 | ]
tvhstats-tvhstats-1 | }}},
tvhstats-tvhstats-1 | [
tvhstats-tvhstats-1 | {TVHStats.API.Client, :get_streams, 0,
tvhstats-tvhstats-1 | [file: 'lib/tvhstats/api/client.ex', line: 15]},
tvhstats-tvhstats-1 | {TVHStats.Worker.Producer, :handle_cast, 2,
tvhstats-tvhstats-1 | [file: 'lib/tvhstats/worker/producer.ex', line: 34]},
tvhstats-tvhstats-1 | {GenStage, :noreply_callback, 3, [file: 'lib/gen_stage.ex', line: 2134]},
tvhstats-tvhstats-1 | {:gen_server, :try_dispatch, 4, [file: 'gen_server.erl', line: 1123]},
tvhstats-tvhstats-1 | {:gen_server, :handle_msg, 6, [file: 'gen_server.erl', line: 1200]},
tvhstats-tvhstats-1 | {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 240]}
tvhstats-tvhstats-1 | ]}
tvhstats-tvhstats-1 |
tvhstats-tvhstats-1 | [error] GenServer TVHStats.Worker.Consumer terminating
tvhstats-tvhstats-1 | ** (MatchError) no match of right hand side value: {:ok, %Finch.Response{status: 401, body: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\r\n<HTML><HEAD>\r\n<TITLE>401 Unauthorized</TITLE>\r\n</HEAD><BODY>\r\n<H1>401 Unauthorized</H1>\r\n<P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">Default login</A></P><P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/login\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">New login</A></P></BODY></HTML>\r\n", headers: [{"server", "HTS/tvheadend"}, {"cache-control", "no-cache"}, {"www-authenticate", "Basic realm=\"tvheadend\""}, {"connection", "Keep-Alive"}, {"content-type", "text/html"}, {"content-length", "432"}]}}
tvhstats-tvhstats-1 | (tvhstats 0.0.1) lib/tvhstats/api/client.ex:15: TVHStats.API.Client.get_streams/0
tvhstats-tvhstats-1 | (tvhstats 0.0.1) lib/tvhstats/worker/producer.ex:34: TVHStats.Worker.Producer.handle_cast/2
tvhstats-tvhstats-1 | (gen_stage 1.1.2) lib/gen_stage.ex:2134: GenStage.noreply_callback/3
tvhstats-tvhstats-1 | (stdlib 4.1.1) gen_server.erl:1123: :gen_server.try_dispatch/4
tvhstats-tvhstats-1 | (stdlib 4.1.1) gen_server.erl:1200: :gen_server.handle_msg/6
tvhstats-tvhstats-1 | (stdlib 4.1.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
tvhstats-tvhstats-1 | Last message: {:DOWN, #Reference<0.1752657894.1704198146.87065>, :process, #PID<0.665.0>, {{:badmatch, {:ok, %Finch.Response{status: 401, body: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\r\n<HTML><HEAD>\r\n<TITLE>401 Unauthorized</TITLE>\r\n</HEAD><BODY>\r\n<H1>401 Unauthorized</H1>\r\n<P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">Default login</A></P><P STYLE=\"text-align: center; margin: 2em\"><A HREF=\"/login\" STYLE=\"border: 1px solid; border-radius: 4px; padding: .6em\">New login</A></P></BODY></HTML>\r\n", headers: [{"server", "HTS/tvheadend"}, {"cache-control", "no-cache"}, {"www-authenticate", "Basic realm=\"tvheadend\""}, {"connection", "Keep-Alive"}, {"content-type", "text/html"}, {"content-length", "432"}]}}}, [{TVHStats.API.Client, :get_streams, 0, [file: 'lib/tvhstats/api/client.ex', line: 15]}, {TVHStats.Worker.Producer, :handle_cast, 2, [file: 'lib/tvhstats/worker/producer.ex', line: 34]}, {GenStage, :noreply_callback, 3, [file: 'lib/gen_stage.ex', line: 2134]}, {:gen_server, :try_dispatch, 4, [file: 'gen_server.erl', line: 1123]}, {:gen_server, :handle_msg, 6, [file: 'gen_server.erl', line: 1200]}, {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 240]}]}}
tvhstats-tvhstats-1 | State: []
tvhstats-tvhstats-1 | [notice] Application tvhstats exited: shutdown