sct / overseerr Goto Github PK
View Code? Open in Web Editor NEWRequest management and media discovery tool for the Plex ecosystem
Home Page: https://overseerr.dev
License: MIT License
Request management and media discovery tool for the Plex ecosystem
Home Page: https://overseerr.dev
License: MIT License
Is your feature request related to a problem? Please describe.
I noticed that the sync takes a very long time. Based off other projects, this should not be the case?
Describe the solution you'd like
Pulling in all library items from plex should be very quick with correct API calls. Check the PlexAPI project for ideas.
The other thought I had is this could take longer as its pulling in metadata from TMDB? This could async as to not slow down the process.
Subsequent scans should do a very quick check to verify that nothing has changed just from Plex.
Describe the bug
The recently added section shows two movies that are not in the libraries enabled in Overseerr.
Are you on latest or develop branch?
Develop
To Reproduce
Expected behavior
I do not expect to see items from outside of enabled libraries.
Desktop (please complete the following information):
Additional context
Is your feature request related to a problem? Please describe.
I'm running overseerr as standalone server, no docker. But by default it binds to 0.0.0.0 interface - meaning it listens on all of them. That is a problem because don't want software outside of this server machine to connect to overseerr directly. I want to reverse-proxy it through caddy.
Describe the solution you'd like
Allow to specify interface to bind, similarly how PORT is specified from environment variables.
If you don't want to have universal way to specify interface, then at least option to bind ONLY to 127.0.0.1 would be fine too.
For examples, see how sonarr/radarr specifies http listening settings:
Is your feature request related to a problem? Please describe.
Overseerr only supports Plex
Describe the solution you'd like
Would love to see Emby supported
On initial library scan, it hangs on item 190 and doesn't progress. Cancelling the scan and restarting the scan results in a hang at the same point.
Logs shows...
2020-12-14T07:21:03.084Z [�[34mdebug�[39m][Plex Sync]: Title exists and is already available The Art of Racing in the Rain
(node:27) UnhandledPromiseRejectionWarning: QueryFailedError: SQLITE_CONSTRAINT: NOT NULL constraint failed: media.tmdbId
at new QueryFailedError (/app/node_modules/typeorm/error/QueryFailedError.js:11:28)
at Statement.handler (/app/node_modules/typeorm/driver/sqlite/SqliteQueryRunner.js:76:38)
(node:27) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3)
2020-12-14T07:21:03.099Z [�[34mdebug�[39m][Plex Sync]: Title exists and is already available Armageddon
Running latest pull, on unRaid 6.8.3 (can't check overseerr version, as about page 404's)
Sounds similar to #244 but don't think it's the same
Describe the bug
Movies in libraries that use the TMDB agent are not parsed properly and don't show up as Available
.
This results in being able to request movies that are already present in Radarr and the Plex library which in turn results in an error in Overseer and a Invalid request Validation failed: -- TmdbId: This movie has already been added
in Radarr.
Are you on latest or develop branch?
sctx/overseerr:latest
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Ideally, the movie shouldn't be able to be requested if it's already present in Radarr/Plex since the Plex Library Scan would mark the movie as already Available
.
Describe the bug
I setup Overseerr yesterday and successfully scanned files and made a few requests. I launched the same browser again today and Overseerr started the setup process again.
No logs as logs have disappeared as well as config/setup data.
What version of Overseerr are you running?
1.5.0
To Reproduce
Steps to reproduce the behaviour:
Desktop (please complete the following information):
Describe the bug
During a Library Scan some items fail to process and a RatingKey
Are you on latest or develop branch?
The pull was done in the afternoon of 12-14-2020
To Reproduce
One such show is Archer (2009). When a Manual Library Scan is run I am presented with the following error:
[error][Plex Sync]: Failed to process plex item. ratingKey: 7958
The actual show when looked up in Overseerr is marked as Available.
Expected behavior
No Error
**Desktop (please complete the following information):
**
Additional context
Add any other context about the problem here.
Describe the bug
I expected to see a configuration file(s) of some sort stored in my mapped /config folder.
There are no files present. I guess this means my current Overseerr Plex/Library/Notifications configuration is stored internally in the Docker container and will not survive an upgrade.
Are you on latest or develop branch?
Latest branch
To Reproduce
Create new Overseerr Docker container with a mapped /config folder.
Browse to the mapped folder on your system.
Expected behavior
Any configuration settings to be stored in the mapped location, so they can be retrieved by a new container instance.
Is your feature request related to a problem? Please describe.
Currently Sonarr and Radarr use Tags to help control the content that will eventually be downloaded - for example, if content is HEVC or from a certain provider.
Describe the solution you'd like
Within Sonarr and Radarr, they allow the use of passing Tags into their API calls.
Sonarr documentation
Radarr documentation
So adding the ability to pass the Tags within their respective API calls will be the first step. Whether that be through a textbox or a dropdown menu - VERY similar to how profiles is set up.
I think the setting it up through a drop-down menu that's auto-populated would be ideal, have a dropdown menu of Tags that are configured within Radarr/Sonarr would yield the greatest User Experience.
Describe alternatives you've considered
I've looked into adding default Tags to Profiles in both Sonarr/Radarr, it doesn't look like it's a current feature. Radarr does have a setting within a profile to have a custom format, but that's different.
Describe the bug
When you click the request more button, there is heavy slow down on the pop up. It will take a long time to open and sometimes will close itself automatically.
To Reproduce
Steps to reproduce the behavior:
Screenshots
If applicable, add screenshots to help explain your problem.
Describe the bug
Getting error when trying to run it. It also display erro in browser
To Reproduce
Steps to reproduce the behavior:
sudo docker-compose up
Expected behavior
Running wihtout error
Desktop (please complete the following information):
Additional context
$ cat docker-compose.yml
version: '3'
services:
overseerr:
build:
context: .
dockerfile: Dockerfile.local
ports:
- 3003
volumes:
- .:/app:rw,cached
- /app/node_modules
- /app/.next
network_mode: host
environment:
- PORT=3003
overseerr_1 | yarn run v1.22.4
overseerr_1 | $ nodemon -e ts --watch server --watch overseerr-api.yml -e .json,.ts,.yml -x ts-node --files --project server/tsconfig.json server/index.ts
overseerr_1 | [nodemon] 2.0.6
overseerr_1 | [nodemon] to restart at any time, enter `rs`
overseerr_1 | [nodemon] watching path(s): server/**/* overseerr-api.yml
overseerr_1 | [nodemon] watching extensions: json,ts,yml
overseerr_1 | [nodemon] starting `ts-node --files --project server/tsconfig.json server/index.ts`
overseerr_1 | info - Using external babel configuration from /app/babel.config.js
overseerr_1 | event - compiled successfully
overseerr_1 | 2020-12-14T05:25:30.744Z [info][Notifications]: Registered Notification Agents
overseerr_1 | 2020-12-14T05:25:30.750Z [info][Jobs]: Scheduled jobs loaded
overseerr_1 | Mon, 14 Dec 2020 05:25:30 GMT express-session deprecated req.secret; provide secret option at server/index.ts:64:49
overseerr_1 | $ref: keywords ignored in schema at path "#/properties/requestedBy"
overseerr_1 | 2020-12-14T05:25:31.024Z [info][SERVER]: Server ready on port 3003
overseerr_1 | event - build page: /
overseerr_1 | wait - compiling...
overseerr_1 | event - compiled successfully
overseerr_1 | Error: Request failed with status code 500
overseerr_1 | at createError (/app/node_modules/axios/lib/core/createError.js:16:15)
overseerr_1 | at settle (/app/node_modules/axios/lib/core/settle.js:17:12)
overseerr_1 | at IncomingMessage.handleStreamEnd (/app/node_modules/axios/lib/adapters/http.js:244:11)
overseerr_1 | at IncomingMessage.emit (events.js:327:22)
overseerr_1 | at IncomingMessage.EventEmitter.emit (domain.js:483:12)
overseerr_1 | at endReadableNT (_stream_readable.js:1220:12)
overseerr_1 | at processTicksAndRejections (internal/process/task_queues.js:84:21) {
overseerr_1 | config: {
overseerr_1 | url: 'http://localhost:3003/api/v1/settings/public',
overseerr_1 | method: 'get',
overseerr_1 | headers: {
overseerr_1 | Accept: 'application/json, text/plain, */*',
overseerr_1 | 'User-Agent': 'axios/0.21.0'
overseerr_1 | },
overseerr_1 | transformRequest: [ [Function: transformRequest] ],
overseerr_1 | transformResponse: [ [Function: transformResponse] ],
overseerr_1 | timeout: 0,
overseerr_1 | adapter: [Function: httpAdapter],
overseerr_1 | xsrfCookieName: 'XSRF-TOKEN',
overseerr_1 | xsrfHeaderName: 'X-XSRF-TOKEN',
overseerr_1 | maxContentLength: -1,
overseerr_1 | maxBodyLength: -1,
overseerr_1 | validateStatus: [Function: validateStatus],
overseerr_1 | data: undefined
overseerr_1 | },
overseerr_1 | request: ClientRequest {
overseerr_1 | _events: [Object: null prototype] {
overseerr_1 | socket: [Function],
overseerr_1 | abort: [Function],
overseerr_1 | aborted: [Function],
overseerr_1 | connect: [Function],
overseerr_1 | error: [Function],
overseerr_1 | timeout: [Function],
overseerr_1 | prefinish: [Function: requestOnPrefinish]
overseerr_1 | },
overseerr_1 | _eventsCount: 7,
overseerr_1 | _maxListeners: undefined,
overseerr_1 | outputData: [],
overseerr_1 | outputSize: 0,
overseerr_1 | writable: true,
overseerr_1 | _last: true,
overseerr_1 | chunkedEncoding: false,
overseerr_1 | shouldKeepAlive: false,
overseerr_1 | useChunkedEncodingByDefault: false,
overseerr_1 | sendDate: false,
overseerr_1 | _removedConnection: false,
overseerr_1 | _removedContLen: false,
overseerr_1 | _removedTE: false,
overseerr_1 | _contentLength: 0,
overseerr_1 | _hasBody: true,
overseerr_1 | _trailer: '',
overseerr_1 | finished: true,
overseerr_1 | _headerSent: true,
overseerr_1 | socket: Socket {
overseerr_1 | connecting: false,
overseerr_1 | _hadError: false,
overseerr_1 | _parent: null,
overseerr_1 | _host: 'localhost',
overseerr_1 | _readableState: [ReadableState],
overseerr_1 | readable: true,
overseerr_1 | _events: [Object: null prototype],
overseerr_1 | _eventsCount: 7,
overseerr_1 | _maxListeners: undefined,
overseerr_1 | _writableState: [WritableState],
overseerr_1 | writable: false,
overseerr_1 | allowHalfOpen: false,
overseerr_1 | _sockname: null,
overseerr_1 | _pendingData: null,
overseerr_1 | _pendingEncoding: '',
overseerr_1 | server: null,
overseerr_1 | _server: null,
overseerr_1 | parser: null,
overseerr_1 | _httpMessage: [Circular],
overseerr_1 | [Symbol(asyncId)]: 87866,
overseerr_1 | [Symbol(kHandle)]: [TCP],
overseerr_1 | [Symbol(kSetNoDelay)]: false,
overseerr_1 | [Symbol(lastWriteQueueSize)]: 0,
overseerr_1 | [Symbol(timeout)]: null,
overseerr_1 | [Symbol(kBuffer)]: null,
overseerr_1 | [Symbol(kBufferCb)]: null,
overseerr_1 | [Symbol(kBufferGen)]: null,
overseerr_1 | [Symbol(kCapture)]: false,
overseerr_1 | [Symbol(kBytesRead)]: 0,
overseerr_1 | [Symbol(kBytesWritten)]: 0
overseerr_1 | },
overseerr_1 | connection: Socket {
overseerr_1 | connecting: false,
overseerr_1 | _hadError: false,
overseerr_1 | _parent: null,
overseerr_1 | _host: 'localhost',
overseerr_1 | _readableState: [ReadableState],
overseerr_1 | readable: true,
overseerr_1 | _events: [Object: null prototype],
overseerr_1 | _eventsCount: 7,
overseerr_1 | _maxListeners: undefined,
overseerr_1 | _writableState: [WritableState],
overseerr_1 | writable: false,
overseerr_1 | allowHalfOpen: false,
overseerr_1 | _sockname: null,
overseerr_1 | _pendingData: null,
overseerr_1 | _pendingEncoding: '',
overseerr_1 | server: null,
overseerr_1 | _server: null,
overseerr_1 | parser: null,
overseerr_1 | _httpMessage: [Circular],
overseerr_1 | [Symbol(asyncId)]: 87866,
overseerr_1 | [Symbol(kHandle)]: [TCP],
overseerr_1 | [Symbol(kSetNoDelay)]: false,
overseerr_1 | [Symbol(lastWriteQueueSize)]: 0,
overseerr_1 | [Symbol(timeout)]: null,
overseerr_1 | [Symbol(kBuffer)]: null,
overseerr_1 | [Symbol(kBufferCb)]: null,
overseerr_1 | [Symbol(kBufferGen)]: null,
overseerr_1 | [Symbol(kCapture)]: false,
overseerr_1 | [Symbol(kBytesRead)]: 0,
overseerr_1 | [Symbol(kBytesWritten)]: 0
overseerr_1 | },
overseerr_1 | _header: 'GET /api/v1/settings/public HTTP/1.1\r\n' +
overseerr_1 | 'Accept: application/json, text/plain, */*\r\n' +
overseerr_1 | 'User-Agent: axios/0.21.0\r\n' +
overseerr_1 | 'Host: localhost:3003\r\n' +
overseerr_1 | 'Connection: close\r\n' +
overseerr_1 | '\r\n',
overseerr_1 | _onPendingData: [Function: noopPendingOutput],
overseerr_1 | agent: Agent {
overseerr_1 | _events: [Object: null prototype],
overseerr_1 | _eventsCount: 2,
overseerr_1 | _maxListeners: undefined,
overseerr_1 | defaultPort: 80,
overseerr_1 | protocol: 'http:',
overseerr_1 | options: [Object],
overseerr_1 | requests: {},
overseerr_1 | sockets: [Object],
overseerr_1 | freeSockets: {},
overseerr_1 | keepAliveMsecs: 1000,
overseerr_1 | keepAlive: false,
overseerr_1 | maxSockets: Infinity,
overseerr_1 | maxFreeSockets: 256,
overseerr_1 | [Symbol(kCapture)]: false
overseerr_1 | },
overseerr_1 | socketPath: undefined,
overseerr_1 | method: 'GET',
overseerr_1 | insecureHTTPParser: undefined,
overseerr_1 | path: '/api/v1/settings/public',
overseerr_1 | _ended: true,
overseerr_1 | res: IncomingMessage {
overseerr_1 | _readableState: [ReadableState],
overseerr_1 | readable: false,
overseerr_1 | _events: [Object: null prototype],
overseerr_1 | _eventsCount: 3,
overseerr_1 | _maxListeners: undefined,
overseerr_1 | socket: [Socket],
overseerr_1 | connection: [Socket],
overseerr_1 | httpVersionMajor: 1,
overseerr_1 | httpVersionMinor: 1,
overseerr_1 | httpVersion: '1.1',
overseerr_1 | complete: true,
overseerr_1 | headers: [Object],
overseerr_1 | rawHeaders: [Array],
overseerr_1 | trailers: {},
overseerr_1 | rawTrailers: [],
overseerr_1 | aborted: false,
overseerr_1 | upgrade: false,
overseerr_1 | url: '',
overseerr_1 | method: null,
overseerr_1 | statusCode: 500,
overseerr_1 | statusMessage: 'Internal Server Error',
overseerr_1 | client: [Socket],
overseerr_1 | _consuming: false,
overseerr_1 | _dumped: false,
overseerr_1 | req: [Circular],
overseerr_1 | responseUrl: 'http://localhost:3003/api/v1/settings/public',
overseerr_1 | redirects: [],
overseerr_1 | [Symbol(kCapture)]: false
overseerr_1 | },
overseerr_1 | aborted: false,
overseerr_1 | timeoutCb: null,
overseerr_1 | upgradeOrConnect: false,
overseerr_1 | parser: null,
overseerr_1 | maxHeadersCount: null,
overseerr_1 | reusedSocket: false,
overseerr_1 | _redirectable: Writable {
overseerr_1 | _writableState: [WritableState],
overseerr_1 | writable: true,
overseerr_1 | _events: [Object: null prototype],
overseerr_1 | _eventsCount: 2,
overseerr_1 | _maxListeners: undefined,
overseerr_1 | _options: [Object],
overseerr_1 | _ended: true,
overseerr_1 | _ending: true,
overseerr_1 | _redirectCount: 0,
overseerr_1 | _redirects: [],
overseerr_1 | _requestBodyLength: 0,
overseerr_1 | _requestBodyBuffers: [],
overseerr_1 | _onNativeResponse: [Function],
overseerr_1 | _currentRequest: [Circular],
overseerr_1 | _currentUrl: 'http://localhost:3003/api/v1/settings/public',
overseerr_1 | [Symbol(kCapture)]: false
overseerr_1 | },
overseerr_1 | [Symbol(kCapture)]: false,
overseerr_1 | [Symbol(kNeedDrain)]: false,
overseerr_1 | [Symbol(corked)]: 0,
overseerr_1 | [Symbol(kOutHeaders)]: [Object: null prototype] {
overseerr_1 | accept: [Array],
overseerr_1 | 'user-agent': [Array],
overseerr_1 | host: [Array]
overseerr_1 | }
overseerr_1 | },
overseerr_1 | response: {
overseerr_1 | status: 500,
overseerr_1 | statusText: 'Internal Server Error',
overseerr_1 | headers: {
overseerr_1 | 'x-powered-by': 'Express',
overseerr_1 | 'content-type': 'application/json; charset=utf-8',
overseerr_1 | 'content-length': '49',
overseerr_1 | etag: 'W/"31-cTLyuZrTZhoNpxkqok0MBLCOsYA"',
overseerr_1 | date: 'Mon, 14 Dec 2020 05:26:00 GMT',
overseerr_1 | connection: 'close'
overseerr_1 | },
overseerr_1 | config: {
overseerr_1 | url: 'http://localhost:3003/api/v1/settings/public',
overseerr_1 | method: 'get',
overseerr_1 | headers: [Object],
overseerr_1 | transformRequest: [Array],
overseerr_1 | transformResponse: [Array],
overseerr_1 | timeout: 0,
overseerr_1 | adapter: [Function: httpAdapter],
overseerr_1 | xsrfCookieName: 'XSRF-TOKEN',
overseerr_1 | xsrfHeaderName: 'X-XSRF-TOKEN',
overseerr_1 | maxContentLength: -1,
overseerr_1 | maxBodyLength: -1,
overseerr_1 | validateStatus: [Function: validateStatus],
overseerr_1 | data: undefined
overseerr_1 | },
overseerr_1 | request: ClientRequest {
overseerr_1 | _events: [Object: null prototype],
overseerr_1 | _eventsCount: 7,
overseerr_1 | _maxListeners: undefined,
overseerr_1 | outputData: [],
overseerr_1 | outputSize: 0,
overseerr_1 | writable: true,
overseerr_1 | _last: true,
overseerr_1 | chunkedEncoding: false,
overseerr_1 | shouldKeepAlive: false,
overseerr_1 | useChunkedEncodingByDefault: false,
overseerr_1 | sendDate: false,
overseerr_1 | _removedConnection: false,
overseerr_1 | _removedContLen: false,
overseerr_1 | _removedTE: false,
overseerr_1 | _contentLength: 0,
overseerr_1 | _hasBody: true,
overseerr_1 | _trailer: '',
overseerr_1 | finished: true,
overseerr_1 | _headerSent: true,
overseerr_1 | socket: [Socket],
overseerr_1 | connection: [Socket],
overseerr_1 | _header: 'GET /api/v1/settings/public HTTP/1.1\r\n' +
overseerr_1 | 'Accept: application/json, text/plain, */*\r\n' +
overseerr_1 | 'User-Agent: axios/0.21.0\r\n' +
overseerr_1 | 'Host: localhost:3003\r\n' +
overseerr_1 | 'Connection: close\r\n' +
overseerr_1 | '\r\n',
overseerr_1 | _onPendingData: [Function: noopPendingOutput],
overseerr_1 | agent: [Agent],
overseerr_1 | socketPath: undefined,
overseerr_1 | method: 'GET',
overseerr_1 | insecureHTTPParser: undefined,
overseerr_1 | path: '/api/v1/settings/public',
overseerr_1 | _ended: true,
overseerr_1 | res: [IncomingMessage],
overseerr_1 | aborted: false,
overseerr_1 | timeoutCb: null,
overseerr_1 | upgradeOrConnect: false,
overseerr_1 | parser: null,
overseerr_1 | maxHeadersCount: null,
overseerr_1 | reusedSocket: false,
overseerr_1 | _redirectable: [Writable],
overseerr_1 | [Symbol(kCapture)]: false,
overseerr_1 | [Symbol(kNeedDrain)]: false,
overseerr_1 | [Symbol(corked)]: 0,
overseerr_1 | [Symbol(kOutHeaders)]: [Object: null prototype]
overseerr_1 | },
overseerr_1 | data: { message: 'secret option required for sessions' }
overseerr_1 | },
overseerr_1 | isAxiosError: true,
overseerr_1 | toJSON: [Function: toJSON]
overseerr_1 | }
overseerr_1 | 2020-12-14T05:30:00.014Z [info][Jobs]: Starting scheduled job: Plex Recently Added Sync
overseerr_1 | (node:39) UnhandledPromiseRejectionWarning: EntityNotFound: Could not find any entity of type "User" matching: {
overseerr_1 | "select": [
overseerr_1 | "id",
overseerr_1 | "plexToken"
overseerr_1 | ],
overseerr_1 | "order": {
overseerr_1 | "id": "ASC"
overseerr_1 | }
overseerr_1 | }
overseerr_1 | at new EntityNotFoundError (/app/src/error/EntityNotFoundError.ts:11:9)
overseerr_1 | at /app/src/entity-manager/EntityManager.ts:821:39
overseerr_1 | at JobPlexSync.run (/app/server/job/plexsync/index.ts:280:21)
overseerr_1 | (node:39) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3)
overseerr_1 | (node:39) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
A simple "TEST" button to confirm email settings are correct.
Describe the bug
The Plex connection doesn't work when the secure connections setting in Plex is set to Required
. I did a workaround by setting it to Preferred
.
Are you on latest or develop branch?
latest
To Reproduce
Steps to reproduce the behavior:
latest
branch127.0.0.1
, don't think this is going to work since we're in docker. But anyway, I changed this to my Plex server IP 172.17.0.1
and also tried my LAN IP.Preferred
Expected behavior
Overseerr should sync using secured connections.
Desktop (please complete the following information):
Ok, so it's a bit of a silly complaint, but certainly an easy fix: the 'Now Available' email that is sent says 'Your requsested media is now available'. It should say 'requested'
Is your feature request related to a problem? Please describe.
Plex.tv has an API call that can be made to get a list of servers a user has access to. Pulling this list would make the initial setup for users much easier since it is the same method the players use to discover the server.
Describe the solution you'd like
Use the Plex API to pre-populate the Plex server information.
Additional details can be found here.
https://support.plex.tv/articles/206721658-using-plex-tv-resources-information-to-troubleshoot-app-connections/
Hi, I would like to contribute with the spanish translation on weblate.
Awaiting further instructions.
Is your feature request related to a problem? Please describe.
I'm reverse-proxying all services on main domain with caddy. Like https://example.com/radarr/ and https://example.com/sonarr/ and I want to do same with https://example.com/overseerr/
But currently it expects to be available on / path.
Describe the solution you'd like
Solution would be either to use relative URL's throughout the project. Or allow to specify base url/path in startup parameters, like PORT is specific in env variables. Like export BASE=/overseerr
would be good enough for me.
Is your feature request related to a problem? Please describe.
I would very much like to try overseerr on a raspberry pi, however the architecture is currently not supported. Error:
"standard_init_linux.go:219: exec user process caused: exec format error"
Describe the solution you'd like
Support for Raspberry Pi 3 + 4
Describe the bug
Are you on the latest or develop branch?
Screenshots
Desktop (please complete the following information):
Is your feature request related to a problem? Please describe.
We can enable SSL with sonarr and radarr but there isn't an option to allow self-signed certificates
It's reported as an error.
[error][Radarr]: [Radarr] Failed to retrieve profiles: self signed certificate
Describe the solution you'd like
Maybe a checkbox saying "Allow self-signed certificates"
Describe the bug
users are receiving 409 conflict errors when requesting a movie be added by a v2 instance of radarr.
Are you on latest or develop branch?
develop
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Movie should be added without error.
Radarr Logs:
2020-12-14 21:52:47.1|Info|MovieService|Adding Movie [Hard Kill (2020)][, 724989] Path: [/movies/Movies/Hard Kill (2020)]
2020-12-14 21:52:47.1|Trace|Owin|SQLite error (1299): abort at 42 in [INSERT INTO [Movies] ([TmdbId],[ImdbId],[Title],[CleanTitle],[SortTitle],[Status],[Overview],[Monitored],[MinimumAvailability],[ProfileId],[LastInfoSync],[Runtime],[Images],[TitleSlug],[Website
2020-12-14 21:52:47.1|Trace|NzbDroneErrorPipeline|Handling Exception
2020-12-14 21:52:47.1|Trace|Http|Res: 8732 [POST] /api/movie?apikey=(removed) 409.Conflict (125 ms)
2020-12-14 21:52:47.1|Debug|Api|[POST] /api/movie?apikey=(removed) 409.Conflict (125 ms)
Overseerr Log:
^[[31merror^[[39m][Radarr]: Request failed with status code 409 {"options":{"profileId":1,"qualityProfileId":1,"rootFolderPath":"/movies/Media/Movies/","minimumAvailability":"preDB","title":"The Godfather: Par>
Is your feature request related to a problem? Please describe.
Discord push does not happen when a title requested is from an auto-approve user.
Describe the solution you'd like
I noticed that Overseerr does not push to Discord when a user who has auto-approve permissions requests an item. I can see a need for server owners to want a notification on all requests.
Describe alternatives you've considered
The alternative is to not set users to auto-approve. This forms a limitation
Additional context
None.
Is your feature request related to a problem? Please describe.
Not currently syncing with Sonarr/Radarr watchlists
Describe the solution you'd like
Ability to sync with Sonarr/Radarr so that already requested items would be marked as "Requested" in Overseerr. Would keep users from requesting items that have already been requested.
Describe the bug
When sending email notifications, if the "Auth User" and "Auth Password" fields are left blank, Overseerr still tries to authenticate against the SMTP server with empty fields, causing it to fail.
What version of Overseerr are you running?
1.5.0
You can find it under: Settings -> About -> Version
To Reproduce
Steps to reproduce the behavior:
Expected behavior
SMTP Relays that do not require auth (e.g. internal notification email servers) should be able to accept SMTP sessions without any authentication, leaving the fields blank in Overseerr should indicate that authentication is not required, instead it tries to anyway with empty fields.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context
Log snippet of failure:
2020-12-15T15:40:51.388Z [info][Notifications]: Sending notification for MEDIA_PENDING
(node:28) UnhandledPromiseRejectionWarning: Error: Missing credentials for "PLAIN"
at SMTPConnection._formatError (/app/node_modules/nodemailer/lib/smtp-connection/index.js:774:19)
at SMTPConnection.login (/app/node_modules/nodemailer/lib/smtp-connection/index.js:438:38)
at /app/node_modules/nodemailer/lib/smtp-transport/index.js:271:32
at SMTPConnection. (/app/node_modules/nodemailer/lib/smtp-connection/index.js:209:17)
at Object.onceWrapper (events.js:421:28)
at SMTPConnection.emit (events.js:315:20)
at SMTPConnection._actionEHLO (/app/node_modules/nodemailer/lib/smtp-connection/index.js:1303:14)
at SMTPConnection._processResponse (/app/node_modules/nodemailer/lib/smtp-connection/index.js:932:20)
at SMTPConnection._onData (/app/node_modules/nodemailer/lib/smtp-connection/index.js:739:14)
at TLSSocket.SMTPConnection._onSocketData (/app/node_modules/nodemailer/lib/smtp-connection/index.js:189:44)
at TLSSocket.emit (events.js:315:20)
at addChunk (_stream_readable.js:295:12)
at readableAddChunk (_stream_readable.js:271:9)
at TLSSocket.Readable.push (_stream_readable.js:212:10)
at TLSWrap.onStreamRead (internal/stream_base_commons.js:186:23)
(node:28) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict
(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 8)
(node:28) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Describe the bug
Initial library scan stalled.
yarn run v1.22.4,
$ NODE_ENV=production node dist/index.js,
2020-12-14T05:29:02.604Z [info][Notifications]: Registered Notification Agents ,
2020-12-14T05:29:02.612Z [info][Jobs]: Scheduled jobs loaded ,
$ref: keywords ignored in schema at path "#/properties/requestedBy",
2020-12-14T05:29:02.879Z [info][SERVER]: Server ready on port 3000 ,
2020-12-14T05:30:00.039Z [info][Jobs]: Starting scheduled job: Plex Recently Added Sync ,
(node:29) UnhandledPromiseRejectionWarning: EntityNotFound: Could not find any entity of type "User" matching: {,
"select": [,
"id",,
"plexToken",
],,
"order": {,
"id": "ASC",
},
},
at new EntityNotFoundError (/app/node_modules/typeorm/error/EntityNotFoundError.js:11:28),
at /app/node_modules/typeorm/entity-manager/EntityManager.js:555:51,
at async JobPlexSync.run (/app/dist/job/plexsync/index.js:220:27),
(node:29) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict
(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2),
(node:29) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.,
2020-12-14T05:30:15.795Z [error]: Error checking user access: Plex is not configured! ,
2020-12-14T05:31:34.309Z [info][Plex Sync]: Beginning to process library: Movies ,
.
.
.
.
.
(node:29) UnhandledPromiseRejectionWarning: QueryFailedError: SQLITE_CONSTRAINT: UNIQUE constraint failed: media.imdbId,
at new QueryFailedError (/app/node_modules/typeorm/error/QueryFailedError.js:11:28),
at Statement.handler (/app/node_modules/typeorm/driver/sqlite/SqliteQueryRunner.js:76:38),
(node:29) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict
(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3),
.
.
.
Is your feature request related to a problem? Please describe.
I would like to use Jellyfin as my media server rather than Plex.
Describe the solution you'd like
Jellyfin is supported alongside Plex.
Describe alternatives you've considered
Use Plex.
Additional context
N/A
Describe the bug
Completing the new Library form will give you errors for the Quality or Root folders because a connection needs to be made to the Library server to retrieve the possible options. This means the library needs to be successfully "Tested" to make the connection before being able to select these options.
This isn't obvious to the user.
Are you on latest or develop branch?
Latest branch
To Reproduce
Add a new Library
Enter Name, Hostname, Port, API Key.
Try to set Quality or Root folder, you'll get an error.
Test the connection.
Now you can set the Quality/Root
Expected behavior
Automatically "Test" the server after the minimum required fields are completed, or make it a two step process.
After entering minimum fields, user should select "Next" which will do the test, if successful then show the Quality/Root options to choose.
Is your feature request related to a problem? Please describe.
Currently, once a user logs in then you can change their permissions. I believe a better workflow would be to import all the users and be able to set permissions ahead of time.
Describe the solution you'd like
Be able to manage users before they log in. I believe a sync job to Plex to collect all the users will be needed and should be ran periodically.
Is your feature request related to a problem? Please describe.
It would be ideal to be able to set friendly names per user as it is difficult to remember every user's username.
Describe the solution you'd like
The ability to set friendly names for each user.
Describe the bug
Overseerr is blocked on 250/493 on my movie library during first manual library sync.
Are you on latest or develop branch?
I just installed through docker, so I think Im on latestet release, but the About page respond in 404, so no guess there
Same for the log page : error 404
To Reproduce
Launch manual sync
Expected behavior
Manual sync complete the operation
Additional context
The name of one the movies can eventually block the operation : japanese anime, french movie with accent in the name...
but without log I cant't say what
** EDIT **
I just thought about checking docker logs, I've found this :
(node:28) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'forEach' of undefined
at JobPlexSync.processMovie (/app/dist/job/plexsync/index.js:43:27)
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async /app/dist/job/plexsync/index.js:191:17
at async Promise.all (index 5)
at async JobPlexSync.processItems (/app/dist/job/plexsync/index.js:189:9)
at async JobPlexSync.loop (/app/dist/job/plexsync/index.js:202:13)
at async Timeout._onTimeout (/app/dist/job/plexsync/index.js:204:17)
(node:28) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict
(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 11)
Otherwise, the application has already a good look and feel. and it's definitly way faster than omby !!
Please continue this great work !
Is your feature request related to a problem? Please describe.
The ability to limit the amount of requests a particular user can make. This could be done on a per user basis or another thought would be to create permission groups that would have the limits set. That would make it easier to manage multiple users at once vs changing it per user individually.
Describe the solution you'd like
To have limits that are imposed per user/group. User feedback of their limits would also be necessary. Currently Ombi does a rolling 7 day request rate. Not sure if you would want to implement the same or have that be configurable. Other options could be x day rolling and x number per month.
Describe the bug
When setting up through the http://[ip]:5055/setup dialogue, I can log in with Plex to link it, however when I attempt to enter in a hostname/IP as well as a Port number, I receive an error stating Failed to connect to Plex: connect ECONNREFUSED 127.0.0.1:32400. No matter which port I enter in the Port field before clicking save, the error always reports that it can not connect to [ip]:32400. Indicating that either the logging message is incorrect, or the custom port is not being entered when Save Changes is selected
Are you on latest or develop branch?
I have been able to reproduce this error on Docker Latest and Docker Develop tags
To Reproduce
Steps to reproduce the behavior:
Expected behavior
If successful, this should allow for the setup process to continue with plex at the non-standard port.
Desktop (please complete the following information):
Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
I would love to see trailers added to the Movie and TV Show pages.
Should make it easier to decide to add a new movie/show or not :)
Describe alternatives you've considered
N/A
Additional context
Would prefer a embedded solution rather than a link to a website.
I absolutely love what I've seen of Overseerr so far, but my Plex server is mostly anime, and as far as I can tell there is currently no way to set different root folders for anime and tv shows. That's honestly the only thing keeping me from switching over.
Ombi's settings: https://i.imgur.com/RLhlqeF.png
Is your feature request related to a problem? Please describe.
Currently auto-approve is all inclusive to TV and movie titles. Allowing users to auto-approve TV shows can be a problem if a user requests a series with dozens of seasons.
Describe the solution you'd like
Can the auto-approve permission be split to include the option for TV and Movies separately?
Describe alternatives you've considered
Not to set auto-approve at all which is a limitation. I trust users to auto-approve movies but TV shows are not something I would like to have auto-approve
Additional context
Just an additional permission option.
List changes/fixes for each release under a heading in the Overseerr Settings or About page. Be good if the list kept a historic in-app view of development/feature additions. Also the ability to see if you're on the latest release.
Describe the bug
My testing reveals that the UI ports for Sonarr and Radarr must be exposed by the container. Also, I am unable to use the hostname of the container (e.g. 'radarr' or 'sonarr'), I must use the IP address explicitly.
Are you on latest or develop branch?
Using "latest" branch as of ~10pm 12/14/20 PST
To Reproduce
Steps to reproduce the behavior:
docker run
)Expected behavior
I expect to be able to leave the ports not exposed while using the hostname of the container.
Workaround
Expose the UI ports of Sonarr and Radarr from their containers and use the IP address in place of the hostname.
Describe the bug
Nothing loads, internal server error
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The app to work
Desktop (please complete the following information):
Additional context
https://www.reddit.com/r/PleX/comments/kcp703/introducing_overseerr_a_request_management_and/gfs6ud1/
Describe the solution you'd like
Additional context
Edit
on the :develop channel
I copied the email notification settings over from Ombi and when I click "Save", nothing happens. No notification and I remain on the page. When I navigate away and then back to email settings, the settings I entered are no longer present. I've confirmed the setting in Ombi work by sending myself a test email.
I have added Radarr and the testing worked. However nothing happens after the movie has been requested. Is there something I am missing.
Other than that, the UI is amazing.
Describe the bug
If you go to About or Logs pages under settings it will give 404 error.
Are you on latest or develop branch?
Same on 1.3.2 or develop tip.
Describe the bug
"Add Radarr Server" window vanishes unexpectedly
To Reproduce
UNEXPECTED RESULT:
Dialog window closes.
Desktop (please complete the following information):
Describe the bug
Exception is thrown when scanning the Plex library
To Reproduce
Steps to reproduce the behavior:
Scan the Plex library
Expected behavior
The scan should complete without errors
Additional context
Logs: https://gist.githubusercontent.com/samwiseg0/3c7cfb254eebdc94eb1c7993d59674ab/raw/b2d0df1c93a3e40845be1792a6583bcb60ba6ac7/overseerr_plex_scan_log_error
Describe the bug
Completely unable to add either a Radarr or Sonarr server.
To Reproduce
Try to enter info for a Radarr server. I use the IP of the host machine, the correct port and API key. Clicking "Test" then brings up the failure notification.
Desktop (please complete the following information):
Is your feature request related to a problem? Please describe.
I love the way the user is kept in the Overseerr environment by being served Related/Recommended titles and cast members pages when looking at a film/TV shows page.
An example of the issue would be that if someone were to look at the Night at the Museum page in Overseer and then want to look at movies the main cast has been in, say for instance Ben Stiller, they go to that actors page and then in order to look at the next cast member's related movies they would have to go back to the Night at the Museum page.
Describe the solution you'd like
I would like there to be a similar category as Related/Recommended as there is for films/TV shows when looking at an Actors page in terms of other Actors that are related, in terms of Degrees of Kevin Bacon style, to that Actor. It would give the user an easier way to flow to the next desirable item.
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.