midarrlabs / midarr-server Goto Github PK
View Code? Open in Web Editor NEW🔥Midarr, the minimal lightweight media server.
License: MIT License
🔥Midarr, the minimal lightweight media server.
License: MIT License
While the db host can (DB_HOSTNAME). It would be great to be able to do so for the others.
(Also, do you have instructions on what table to insert admin Midair user info in? SQL code would be nice)
I specified:
- SETUP_ADMIN_EMAIL=REDACTED_EMAIL
- SETUP_ADMIN_NAME=admin
- SETUP_ADMIN_PASSWORD=passwordpassword
I see no error in the log but there are no users created in the user table in Postgres:
23:03:46.663 [info] == Running 20211216025410 MediaServer.Repo.Migrations.CreateUsersAuthTables.change/0 forward
23:03:46.668 [info] execute "CREATE EXTENSION IF NOT EXISTS citext"
23:03:46.689 [info] create table users
23:03:46.770 [info] create index users_email_index
23:03:46.837 [info] create table users_tokens
23:03:46.916 [info] create index users_tokens_user_id_index
23:03:46.948 [info] create index users_tokens_context_token_index
23:03:46.987 [info] == Migrated 20211216025410 in 0.3s
23:03:47.025 [info] == Running 20211221234057 MediaServer.Repo.Migrations.CreateSonarrs.change/0 forward
23:03:47.025 [info] create table sonarrs
23:03:47.134 [info] == Migrated 20211221234057 in 0.1s
23:03:47.169 [info] == Running 20211223032633 MediaServer.Repo.Migrations.CreateRadarrs.change/0 forward
23:03:47.170 [info] create table radarrs
23:03:47.271 [info] == Migrated 20211223032633 in 0.1s
23:03:47.290 [info] == Running 20220127084043 MediaServer.Repo.Migrations.AddNameColumnToUsersTable.change/0 forward
23:03:47.290 [info] alter table users
23:03:47.291 [info] == Migrated 20220127084043 in 0.0s
23:03:47.301 [info] == Running 20220128213722 MediaServer.Repo.Migrations.AddIsAdminColumnToUsersTable.change/0 forward
23:03:47.301 [info] alter table users
23:03:47.302 [info] == Migrated 20220128213722 in 0.0s
[debug] QUERY OK source="users" db=0.9ms decode=0.8ms queue=0.9ms idle=21.3ms
SELECT TRUE FROM "users" AS u0 WHERE (u0."email" = $1) LIMIT 1 ["REDACTED_EMAIL"]
Database midarr ready
[info] Running MediaServerWeb.Endpoint with cowboy 2.9.0 at 0.0.0.0:4000 (http)
[info] Access MediaServerWeb.Endpoint at http://localhost:4000
[watch] build finished, watching for changes...
Add a setup process for adding the first admin user for the server.
Hi
I've tried to setup the midarr server using the docker-compose
example in the README
to connect to my existing radarr and sonarr servers. The midarr server starts correctly and I'm able to log in and view the settings page but once adding the radarr details or the sonarr details the homepage returns Internal Server Error
.
Here's the log from the server:
[debug] QUERY OK source="users_tokens" db=0.5ms idle=53.5ms
��
SELECT u1."id", u1."email", u1."name", u1."hashed_password", u1."confirmed_at", u1."is_admin", u1."inserted_at", u1."updated_at" FROM "users_tokens" AS u0 INNER JOIN "users" AS u1 ON u1."id" = u0."user_id" WHERE ((u0."token" = $1) AND (u0."context" = $2)) AND (u0."inserted_at" > $3::timestamp + (-(60)::numeric * interval '1 day')) [<<31, 180, 28, 124, 201, 138, 240, 59, 237, 45, 158, 41, 194, 43, 79, 181, 1, 50, 8, 180, 18, 206, 57, 116, 140, 87, 217, 119, 11, 186, 130, 27>>, "session", ~U[2022-02-08 16:47:20.084905Z]]
[debug] QUERY OK source="radarrs" db=0.1ms idle=54.4ms
SELECT r0."id", r0."api_key", r0."name", r0."url", r0."inserted_at", r0."updated_at" FROM "radarrs" AS r0 ORDER BY r0."inserted_at" DESC LIMIT 1 []
[debug] QUERY OK source="radarrs" db=0.2ms idle=54.7ms
SELECT r0."id", r0."api_key", r0."name", r0."url", r0."inserted_at", r0."updated_at" FROM "radarrs" AS r0 ORDER BY r0."inserted_at" DESC LIMIT 1 []
[debug] QUERY OK source="sonarrs" db=0.1ms idle=54.9ms
SELECT s0."id", s0."api_key", s0."name", s0."url", s0."inserted_at", s0."updated_at" FROM "sonarrs" AS s0 ORDER BY s0."inserted_at" DESC LIMIT 1 []
[debug] QUERY OK source="sonarrs" db=0.5ms idle=55.2ms
SELECT s0."id", s0."api_key", s0."name", s0."url", s0."inserted_at", s0."updated_at" FROM "sonarrs" AS s0 ORDER BY s0."inserted_at" DESC LIMIT 1 []
[info] Sent 500 in 5ms
[debug] Converted error Jason.DecodeError to 500 response
[error] #PID<0.720.0> running MediaServerWeb.Endpoint (connection #PID<0.718.0>, stream id 1) terminated
Server: 192.168.0.200:4010 (http)
Request: GET /
** (exit) an exception was raised:
** (Jason.DecodeError) unexpected byte at position 0: 0x3C ("<")
(jason 1.3.0) lib/jason.ex:92: Jason.decode!/2
(media_server 0.1.0) lib/media_server_web/repositories/series.ex:31: MediaServerWeb.Repositories.Series.get_latest/1
(media_server 0.1.0) lib/media_server_web/live/home_live/index.ex:27: MediaServerWeb.HomeLive.Index.apply_action/3
(media_server 0.1.0) lib/media_server_web/live/home_live/index.ex:6: MediaServerWeb.HomeLive.Index.handle_params/3
(phoenix_live_view 0.17.6) lib/phoenix_live_view/utils.ex:369: anonymous fn/5 in Phoenix.LiveView.Utils.call_handle_params!/5
(telemetry 1.0.0) /app/deps/telemetry/src/telemetry.erl:293: :telemetry.span/3
(phoenix_live_view 0.17.6) lib/phoenix_live_view/static.ex:271: Phoenix.LiveView.Static.call_mount_and_handle_params!/5
(phoenix_live_view 0.17.6) lib/phoenix_live_view/static.ex:110: Phoenix.LiveView.Static.render/3
(phoenix_live_view 0.17.6) lib/phoenix_live_view/controller.ex:39: Phoenix.LiveView.Controller.live_render/3
(phoenix 1.6.6) lib/phoenix/router.ex:355: Phoenix.Router.__call__/2
(media_server 0.1.0) lib/media_server_web/endpoint.ex:1: MediaServerWeb.Endpoint.plug_builder_call/2
(media_server 0.1.0) lib/media_server_web/endpoint.ex:1: MediaServerWeb.Endpoint.call/2
(phoenix 1.6.6) lib/phoenix/endpoint/cowboy2_handler.ex:54: Phoenix.Endpoint.Cowboy2Handler.init/4
(cowboy 2.9.0) /app/deps/cowboy/src/cowboy_handler.erl:37: :cowboy_handler.execute/2
(cowboy 2.9.0) /app/deps/cowboy/src/cowboy_stream_h.erl:306: :cowboy_stream_h.execute/3
(cowboy 2.9.0) /app/deps/cowboy/src/cowboy_stream_h.erl:295: :cowboy_stream_h.request_process/3
(stdlib 3.17) proc_lib.erl:226: :proc_lib.init_p_do_apply/3
When filling out integration details, it should provide clearer details into the requirements.
For example, does it use the api/v3 or just api/?
Thanks for this project, but, I don't think we need another Plex/Jellyfin/Emby.
But I think it might be relevant to split this into two projects.
The media manager would:
It could be linked to Plex/Jellyfin/Emby/kodi while being independent of them (in order to use them only as player and/or transcoder server)
This would be more in the KISS design principle, and allows one to
(this issue has first been raised on a reddit thread)
(edit: added links)
Are there any alternatives to using the external images provided by the Radarr / Sonarr API?
Ideas:
Define an initial roadmap of features for a future iteration.
Using multi arch image
Getting invalid login error
Logs from the app for login, which looks ok to me
[info] POST /login
[debug] Processing with MediaServerWeb.UserSessionController.create/2
Parameters: %{"_csrf_token" => "MSw3aBc5WxMJMRFBZlg5FCY5XhkIYSEDgGbPHJlADud703XsnRkKgSh0", "user" => %{"email" => "<masked>", "password" => "[FILTERED]", "remember_me" => "true"}}
Pipelines: [:browser, :redirect_if_user_is_authenticated]
[debug] QUERY OK source="users" db=1.3ms idle=831.3ms
SELECT u0."id", u0."email", u0."name", u0."hashed_password", u0."confirmed_at", u0."is_admin", u0."inserted_at", u0."updated_at" FROM "users" AS u0 WHERE (u0."email" = $1) ["<masked>"]
[info] Sent 200 in 260ms
This would give users the ability to add a movie to their wish list.
This would allow them to be notified (only by email currently) of any updates on the movie.
Would need to first identify which update to focus on first, for example:
It will be really nice if you can make a docker image for arm processors.
Add a build for production that allows for environment configuration.
The project may pass the CI step, but fails to easily build based on the documented readme steps.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.