spotDL/spotify-downloader

Web UI: Internal Server Error

Open

#2661 opened on May 11, 2026

View on GitHub
 (7 comments) (0 reactions) (1 assignee)Python (14,703 stars) (1,418 forks)batch import
BugHelp WantedHigh PriorityWeb UI

Description

System OS

Linux

Python Version

3.12 (CPython)

Install Source

pip / PyPi

Install version / commit hash

v4.4.4

Expected Behavior vs Actual Behavior

Expected Behavior: the browser would open with the web interface.

Observed behavior: Browser says internal server error, terminal says something about the main page not being found.

Steps to reproduce - Ensure to include actual links!

  1. Run spotdl web --format wav
  2. check the browser, refresh if necessary.

Traceback

Files are stored in temporary directory and will be deleted after the     
program exits to save them to current directory permanently enable the    
`web_use_output_dir` option                                               
Starting web server                                                       
                                                                          
INFO:     Started server process [8112]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://localhost:8800 (Press CTRL+C to quit)
INFO:     127.0.0.1:38558 - "GET / HTTP/1.1" 500 Internal Server Error
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/uvicorn/protocols/http/h11_impl.py", line 408, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/fastapi/applications.py", line 292, in __call__
    await super().__call__(scope, receive, send)
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/starlette/applications.py", line 122, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/starlette/middleware/errors.py", line 184, in __call__
    raise exc
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/starlette/middleware/errors.py", line 162, in __call__
    await self.app(scope, receive, _send)
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/starlette/middleware/cors.py", line 83, in __call__
    await self.app(scope, receive, send)
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 79, in __call__
    raise exc
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 68, in __call__
    await self.app(scope, receive, sender)
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/fastapi/middleware/asyncexitstack.py", line 20, in __call__
    raise e
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/fastapi/middleware/asyncexitstack.py", line 17, in __call__
    await self.app(scope, receive, send)
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/starlette/routing.py", line 718, in __call__
    await route.handle(scope, receive, send)
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/starlette/routing.py", line 276, in handle
    await self.app(scope, receive, send)
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/starlette/routing.py", line 66, in app
    response = await func(request)
               ^^^^^^^^^^^^^^^^^^^
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/fastapi/routing.py", line 273, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/fastapi/routing.py", line 190, in run_endpoint_function
    return await dependant.call(**values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/spotdl/web/routes.py", line 42, in home
    return templates.TemplateResponse(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/starlette/templating.py", line 112, in TemplateResponse
    template = self.get_template(name)
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/starlette/templating.py", line 94, in get_template
    return self.env.get_template(name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/jinja2/environment.py", line 1016, in get_template
    return self._load_template(name, globals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/jinja2/environment.py", line 975, in _load_template
    template = self.loader.load(self, name, self.make_globals(globals))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/jinja2/loaders.py", line 126, in load
    source, filename, uptodate = self.get_source(environment, name)
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mantacid/.pyenv/versions/3.12.0/lib/python3.12/site-packages/jinja2/loaders.py", line 209, in get_source
    raise TemplateNotFound(
jinja2.exceptions.TemplateNotFound: 'home.html.j2' not found in search path: 'spotdl/web/components'
INFO:     127.0.0.1:38570 - "GET /favicon.ico HTTP/1.1" 404 Not Found

Other details

No response

Contributor guide