-
-
Notifications
You must be signed in to change notification settings - Fork 682
Labels
awaiting triageThis issue needs to be reviewedThis issue needs to be reviewed
Description
Description
When setting the HOST environment variable to :: (IPv6 equivalent of IPv4's 0.0.0.0), the server listens on the socket, but requests result in 500 errors because there are no checks if host is an IPv6 address, and directly drops the HOST value into request URLs, which for IPv6, is invalid.
E.g.,
HOST=0.0.0.0 -> http://0.0.0.0:5055/api/v1/settings/public # Valid URL
HOST=:: -> http://:::5055/api/v1/settings/public # Invalid URL
Expected would be http://[::]:5055/api/v1/settings/public
My workaround was to add an entry in /etc/hosts for the :: address and configured the HOST env var for the given name.
Version
3.1.0
Steps to Reproduce
- Set HOST env var to
::. (Looking at the code, I believe this can be reproduced with any IPv6 literal) - Restart seerr and observe that the socket is listening on IPv6
root@seerr:~# ss -tlnp | grep 5055
LISTEN 0 511 *:5055 *:* users:(("node",pid=859,fd=27))
- Make a request to seerr an observer 500 status
Screenshots
No response
Logs
Mar 01 11:57:07 seerr node[597]: ⨯ TypeError: Invalid URL
Mar 01 11:57:07 seerr node[597]: at new URL (node:internal/url:827:25)
Mar 01 11:57:07 seerr node[597]: at dispatchHttpRequest (file:///opt/seerr/node_modules/.pnpm/axios@1.13.3/node_modules/axios/lib/adapters/http.js:413:20)
Mar 01 11:57:07 seerr node[597]: at file:///opt/seerr/node_modules/.pnpm/axios@1.13.3/node_modules/axios/lib/adapters/http.js:253:5
Mar 01 11:57:07 seerr node[597]: at new Promise (<anonymous>)
Mar 01 11:57:07 seerr node[597]: at wrapAsync (file:///opt/seerr/node_modules/.pnpm/axios@1.13.3/node_modules/axios/lib/adapters/http.js:233:10)
Mar 01 11:57:07 seerr node[597]: at http (file:///opt/seerr/node_modules/.pnpm/axios@1.13.3/node_modules/axios/lib/adapters/http.js:319:10)
Mar 01 11:57:07 seerr node[597]: at Axios.dispatchRequest (file:///opt/seerr/node_modules/.pnpm/axios@1.13.3/node_modules/axios/lib/core/dispatchRequest.js:51:10)
Mar 01 11:57:07 seerr node[597]: at Axios._request (file:///opt/seerr/node_modules/.pnpm/axios@1.13.3/node_modules/axios/lib/core/Axios.js:190:33)
Mar 01 11:57:07 seerr node[597]: at Axios.request (file:///opt/seerr/node_modules/.pnpm/axios@1.13.3/node_modules/axios/lib/core/Axios.js:40:25)
Mar 01 11:57:07 seerr node[597]: at Axios.<computed> [as get] (file:///opt/seerr/node_modules/.pnpm/axios@1.13.3/node_modules/axios/lib/core/Axios.js:216:17)
Mar 01 11:57:07 seerr node[597]: at Axios.request (file:///opt/seerr/node_modules/.pnpm/axios@1.13.3/node_modules/axios/lib/core/Axios.js:45:41)
Mar 01 11:57:07 seerr node[597]: at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
Mar 01 11:57:07 seerr node[597]: at async T.getInitialProps (/opt/seerr/.next/server/chunks/8452.js:1:64168)
Mar 01 11:57:07 seerr node[597]: at async X (/opt/seerr/node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_babel-plugin-macros@3.1.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js:16:5045)
Mar 01 11:57:07 seerr node[597]: at async e3 (/opt/seerr/node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_babel-plugin-macros@3.1.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js:25:3796)
Mar 01 11:57:07 seerr node[597]: at async doRender (/opt/seerr/node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_babel-plugin-macros@3.1.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:1414:30)
Mar 01 11:57:07 seerr node[597]: at async cacheEntry.responseCache.get.routeKind (/opt/seerr/node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_babel-plugin-macros@3.1.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:1588:28)
Mar 01 11:57:07 seerr node[597]: at async NextNodeServer.renderToResponseWithComponentsImpl (/opt/seerr/node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_babel-plugin-macros@3.1.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:1496:28)
Mar 01 11:57:07 seerr node[597]: at async NextNodeServer.renderErrorToResponseImpl (/opt/seerr/node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_babel-plugin-macros@3.1.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:2182:24)
Mar 01 11:57:07 seerr node[597]: at async NextNodeServer.renderToResponseImpl (/opt/seerr/node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_babel-plugin-macros@3.1.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:2019:30) {
Mar 01 11:57:07 seerr node[597]: code: 'ERR_INVALID_URL',
Mar 01 11:57:07 seerr node[597]: input: 'http://:::5055/api/v1/settings/public'
Mar 01 11:57:07 seerr node[597]: }Platform
desktop
Database
SQLite (default)
Device
MacBook Pro 13-inch M2 2022
Operating System
Client: MacOS 26.3 | Server: Debian 13 LXC on pve-manager/9.1.5/80cf92a64bef6889 (running kernel: 6.17.9-1-pve)
Browser
Arc: Version 1.135.0 (75383) | Chromium Engine Version 145.0.7632.110
Additional Context
No response
Search Existing Issues
- Yes, I have searched existing issues.
Code of Conduct
- I agree to follow Seerr's Code of Conduct
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
awaiting triageThis issue needs to be reviewedThis issue needs to be reviewed