Internal server error when installing ERPNext using docker

2025-04-17 08:52:25.163 | [2025-04-17 03:22:25 +0000] [1] [INFO] Starting gunicorn 23.0.0
2025-04-17 08:52:25.164 | [2025-04-17 03:22:25 +0000] [1] [INFO] Listening at: http://0.0.0.0:8000 (1)
2025-04-17 08:52:25.164 | [2025-04-17 03:22:25 +0000] [1] [INFO] Using worker: gthread
2025-04-17 08:52:25.171 | [2025-04-17 03:22:25 +0000] [7] [INFO] Booting worker with pid: 7
2025-04-17 08:52:25.195 | [2025-04-17 03:22:25 +0000] [8] [INFO] Booting worker with pid: 8
2025-04-17 08:52:53.915 | [2025-04-17 03:22:53 +0000] [7] [ERROR] Error handling request /
2025-04-17 08:52:53.915 | Traceback (most recent call last):
2025-04-17 08:52:53.915 | File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 100, in application
2025-04-17 08:52:53.915 | init_request(request)
2025-04-17 08:52:53.915 | File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 196, in init_request
2025-04-17 08:52:53.915 | frappe.local.http_request = HTTPRequest()
2025-04-17 08:52:53.915 | ^^^^^^^^^^^^^
2025-04-17 08:52:53.915 | File “/home/frappe/frappe-bench/apps/frappe/frappe/auth.py”, line 44, in init
2025-04-17 08:52:53.915 | self.set_session()
2025-04-17 08:52:53.915 | File “/home/frappe/frappe-bench/apps/frappe/frappe/auth.py”, line 78, in set_session
2025-04-17 08:52:53.915 | frappe.local.login_manager = LoginManager()
2025-04-17 08:52:53.915 | ^^^^^^^^^^^^^^
2025-04-17 08:52:53.915 | File “/home/frappe/frappe-bench/apps/frappe/frappe/auth.py”, line 117, in init
2025-04-17 08:52:53.915 | self.make_session(resume=True)
2025-04-17 08:52:53.915 | File “/home/frappe/frappe-bench/apps/frappe/frappe/auth.py”, line 211, in make_session
2025-04-17 08:52:53.915 | frappe.local.session_obj = Session(
2025-04-17 08:52:53.915 | ^^^^^^^^
2025-04-17 08:52:53.915 | File “/home/frappe/frappe-bench/apps/frappe/frappe/sessions.py”, line 230, in init
2025-04-17 08:52:53.915 | self.resume()
2025-04-17 08:52:53.915 | File “/home/frappe/frappe-bench/apps/frappe/frappe/sessions.py”, line 313, in resume
2025-04-17 08:52:53.915 | self.validate_user()
2025-04-17 08:52:53.915 | File “/home/frappe/frappe-bench/apps/frappe/frappe/sessions.py”, line 239, in validate_user
2025-04-17 08:52:53.915 | frappe.throw(
2025-04-17 08:52:53.915 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 606, in throw
2025-04-17 08:52:53.915 | msgprint(
2025-04-17 08:52:53.915 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 571, in msgprint
2025-04-17 08:52:53.915 | _raise_exception()
2025-04-17 08:52:53.915 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 522, in raise_exception
2025-04-17 08:52:53.915 | raise exc
2025-04-17 08:52:53.915 | frappe.exceptions.ValidationError: User Guest is disabled. Please contact your System Manager.
2025-04-17 08:52:53.915 |
2025-04-17 08:52:53.915 | During handling of the above exception, another exception occurred:
2025-04-17 08:52:53.915 |
2025-04-17 08:52:53.915 | Traceback (most recent call last):
2025-04-17 08:52:53.915 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/serve.py”, line 19, in get_response
2025-04-17 08:52:53.915 | endpoint, renderer_instance = path_resolver.resolve()
2025-04-17 08:52:53.915 | ^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.915 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/path_resolver.py”, line 38, in resolve
2025-04-17 08:52:53.915 | resolve_redirect(self.path, request.query_string)
2025-04-17 08:52:53.915 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/path_resolver.py”, line 118, in resolve_redirect
2025-04-17 08:52:53.915 | redirects += frappe.get_all(
2025-04-17 08:52:53.915 | ^^^^^^^^^^^^^^^
2025-04-17 08:52:53.915 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 2031, in get_all
2025-04-17 08:52:53.915 | return get_list(doctype, *args, **kwargs)
2025-04-17 08:52:53.915 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.915 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 2006, in get_list
2025-04-17 08:52:53.915 | return frappe.model.db_query.DatabaseQuery(doctype).execute(*args, **kwargs)
2025-04-17 08:52:53.915 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.915 | File “/home/frappe/frappe-bench/apps/frappe/frappe/model/db_query.py”, line 185, in execute
2025-04-17 08:52:53.915 | self.columns = self.get_table_columns()
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/model/db_query.py”, line 546, in get_table_columns
2025-04-17 08:52:53.916 | return get_table_columns(self.doctype)
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/model/meta.py”, line 80, in get_table_columns
2025-04-17 08:52:53.916 | return frappe.db.get_table_columns(doctype)
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/database/database.py”, line 1330, in get_table_columns
2025-04-17 08:52:53.916 | raise self.TableMissingError(“DocType”, doctype)
2025-04-17 08:52:53.916 | pymysql.err.ProgrammingError: (‘DocType’, ‘Website Route Redirect’)
2025-04-17 08:52:53.916 |
2025-04-17 08:52:53.916 | During handling of the above exception, another exception occurred:
2025-04-17 08:52:53.916 |
2025-04-17 08:52:53.916 | Traceback (most recent call last):
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/env/lib/python3.11/site-packages/gunicorn/workers/gthread.py”, line 307, in handle
2025-04-17 08:52:53.916 | keepalive = self.handle_request(req, conn)
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/env/lib/python3.11/site-packages/gunicorn/workers/gthread.py”, line 359, in handle_request
2025-04-17 08:52:53.916 | respiter = self.wsgi(environ, resp.start_response)
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 80, in application
2025-04-17 08:52:53.916 | app(environ, start_response),
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/env/lib/python3.11/site-packages/werkzeug/wrappers/request.py”, line 190, in application
2025-04-17 08:52:53.916 | resp = f(*args[:-2] + (request,))
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 133, in application
2025-04-17 08:52:53.916 | response = handle_exception(e)
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/permissions.py”, line 870, in wrapper
2025-04-17 08:52:53.916 | return fn(e, *args, **kwargs)
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 397, in handle_exception
2025-04-17 08:52:53.916 | response = get_response(“message”, http_status_code=http_status_code)
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/serve.py”, line 23, in get_response
2025-04-17 08:52:53.916 | return handle_exception(e, endpoint, path, http_status_code)
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/permissions.py”, line 870, in wrapper
2025-04-17 08:52:53.916 | return fn(e, *args, **kwargs)
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/serve.py”, line 37, in handle_exception
2025-04-17 08:52:53.916 | return ErrorPage(exception=e).render()
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/page_renderers/template_page.py”, line 84, in render
2025-04-17 08:52:53.916 | html = self.get_html()
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/utils.py”, line 534, in cache_html_decorator
2025-04-17 08:52:53.916 | html = func(*args, **kwargs)
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/page_renderers/template_page.py”, line 92, in get_html
2025-04-17 08:52:53.916 | self.init_context()
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/page_renderers/error_page.py”, line 14, in init_context
2025-04-17 08:52:53.916 | super().init_context()
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/page_renderers/base_template_page.py”, line 15, in init_context
2025-04-17 08:52:53.916 | self.context.update(get_website_settings())
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/doctype/website_settings/website_settings.py”, line 174, in get_website_settings
2025-04-17 08:52:53.916 | settings: “WebsiteSettings” = frappe.get_cached_doc(“Website Settings”)
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 1176, in get_cached_doc
2025-04-17 08:52:53.916 | doc = get_doc(*args, **kwargs)
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 1302, in get_doc
2025-04-17 08:52:53.916 | return frappe.model.document.get_doc(*args, **kwargs)
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 83, in get_doc
2025-04-17 08:52:53.916 | controller = get_controller(doctype)
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/model/base_document.py”, line 71, in get_controller
2025-04-17 08:52:53.916 | site_controllers[doctype] = import_controller(doctype)
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/model/base_document.py”, line 96, in import_controller
2025-04-17 08:52:53.916 | module = load_doctype_module(doctype, module_name)
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/utils.py”, line 248, in load_doctype_module
2025-04-17 08:52:53.916 | app = get_module_app(module)
2025-04-17 08:52:53.916 | ^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/utils.py”, line 273, in get_module_app
2025-04-17 08:52:53.916 | frappe.throw(
(“Module {} not found”).format(module), exc=frappe.DoesNotExistError)
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 606, in throw
2025-04-17 08:52:53.916 | msgprint(
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 571, in msgprint
2025-04-17 08:52:53.916 | _raise_exception()
2025-04-17 08:52:53.916 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 522, in _raise_exception
2025-04-17 08:52:53.916 | raise exc
2025-04-17 08:52:53.916 | frappe.exceptions.DoesNotExistError: Module Core not found
2025-04-17 08:52:54.937 | [2025-04-17 03:22:54 +0000] [7] [ERROR] Error handling request /
2025-04-17 08:52:54.937 | Traceback (most recent call last):
2025-04-17 08:52:54.937 | File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 100, in application
2025-04-17 08:52:54.937 | init_request(request)
2025-04-17 08:52:54.937 | File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 196, in init_request
2025-04-17 08:52:54.937 | frappe.local.http_request = HTTPRequest()
2025-04-17 08:52:54.937 | ^^^^^^^^^^^^^
2025-04-17 08:52:54.937 | File “/home/frappe/frappe-bench/apps/frappe/frappe/auth.py”, line 44, in init
2025-04-17 08:52:54.938 | self.set_session()
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/auth.py”, line 78, in set_session
2025-04-17 08:52:54.938 | frappe.local.login_manager = LoginManager()
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/auth.py”, line 117, in init
2025-04-17 08:52:54.938 | self.make_session(resume=True)
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/auth.py”, line 211, in make_session
2025-04-17 08:52:54.938 | frappe.local.session_obj = Session(
2025-04-17 08:52:54.938 | ^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/sessions.py”, line 230, in init
2025-04-17 08:52:54.938 | self.resume()
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/sessions.py”, line 313, in resume
2025-04-17 08:52:54.938 | self.validate_user()
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/sessions.py”, line 239, in validate_user
2025-04-17 08:52:54.938 | frappe.throw(
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 606, in throw
2025-04-17 08:52:54.938 | msgprint(
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 571, in msgprint
2025-04-17 08:52:54.938 | _raise_exception()
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 522, in raise_exception
2025-04-17 08:52:54.938 | raise exc
2025-04-17 08:52:54.938 | frappe.exceptions.ValidationError: User Guest is disabled. Please contact your System Manager.
2025-04-17 08:52:54.938 |
2025-04-17 08:52:54.938 | During handling of the above exception, another exception occurred:
2025-04-17 08:52:54.938 |
2025-04-17 08:52:54.938 | Traceback (most recent call last):
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/serve.py”, line 19, in get_response
2025-04-17 08:52:54.938 | endpoint, renderer_instance = path_resolver.resolve()
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/path_resolver.py”, line 38, in resolve
2025-04-17 08:52:54.938 | resolve_redirect(self.path, request.query_string)
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/path_resolver.py”, line 118, in resolve_redirect
2025-04-17 08:52:54.938 | redirects += frappe.get_all(
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 2031, in get_all
2025-04-17 08:52:54.938 | return get_list(doctype, *args, **kwargs)
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 2006, in get_list
2025-04-17 08:52:54.938 | return frappe.model.db_query.DatabaseQuery(doctype).execute(*args, **kwargs)
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/model/db_query.py”, line 185, in execute
2025-04-17 08:52:54.938 | self.columns = self.get_table_columns()
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/model/db_query.py”, line 546, in get_table_columns
2025-04-17 08:52:54.938 | return get_table_columns(self.doctype)
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/model/meta.py”, line 80, in get_table_columns
2025-04-17 08:52:54.938 | return frappe.db.get_table_columns(doctype)
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/database/database.py”, line 1330, in get_table_columns
2025-04-17 08:52:54.938 | raise self.TableMissingError(“DocType”, doctype)
2025-04-17 08:52:54.938 | pymysql.err.ProgrammingError: (‘DocType’, ‘Website Route Redirect’)
2025-04-17 08:52:54.938 |
2025-04-17 08:52:54.938 | During handling of the above exception, another exception occurred:
2025-04-17 08:52:54.938 |
2025-04-17 08:52:54.938 | Traceback (most recent call last):
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/env/lib/python3.11/site-packages/gunicorn/workers/gthread.py”, line 307, in handle
2025-04-17 08:52:54.938 | keepalive = self.handle_request(req, conn)
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/env/lib/python3.11/site-packages/gunicorn/workers/gthread.py”, line 359, in handle_request
2025-04-17 08:52:54.938 | respiter = self.wsgi(environ, resp.start_response)
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 80, in application
2025-04-17 08:52:54.938 | app(environ, start_response),
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/env/lib/python3.11/site-packages/werkzeug/wrappers/request.py”, line 190, in application
2025-04-17 08:52:54.938 | resp = f(*args[:-2] + (request,))
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 133, in application
2025-04-17 08:52:54.938 | response = handle_exception(e)
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/permissions.py”, line 870, in wrapper
2025-04-17 08:52:54.938 | return fn(e, *args, **kwargs)
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 397, in handle_exception
2025-04-17 08:52:54.938 | response = get_response(“message”, http_status_code=http_status_code)
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/serve.py”, line 23, in get_response
2025-04-17 08:52:54.938 | return handle_exception(e, endpoint, path, http_status_code)
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/permissions.py”, line 870, in wrapper
2025-04-17 08:52:54.938 | return fn(e, *args, **kwargs)
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/serve.py”, line 37, in handle_exception
2025-04-17 08:52:54.938 | return ErrorPage(exception=e).render()
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/page_renderers/template_page.py”, line 84, in render
2025-04-17 08:52:54.938 | html = self.get_html()
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/utils.py”, line 534, in cache_html_decorator
2025-04-17 08:52:54.938 | html = func(*args, **kwargs)
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/page_renderers/template_page.py”, line 92, in get_html
2025-04-17 08:52:54.938 | self.init_context()
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/page_renderers/error_page.py”, line 14, in init_context
2025-04-17 08:52:54.938 | super().init_context()
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/page_renderers/base_template_page.py”, line 15, in init_context
2025-04-17 08:52:54.938 | self.context.update(get_website_settings())
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/website/doctype/website_settings/website_settings.py”, line 174, in get_website_settings
2025-04-17 08:52:54.938 | settings: “WebsiteSettings” = frappe.get_cached_doc(“Website Settings”)
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 1176, in get_cached_doc
2025-04-17 08:52:54.938 | doc = get_doc(*args, **kwargs)
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 1302, in get_doc
2025-04-17 08:52:54.938 | return frappe.model.document.get_doc(*args, **kwargs)
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 83, in get_doc
2025-04-17 08:52:54.938 | controller = get_controller(doctype)
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/model/base_document.py”, line 71, in get_controller
2025-04-17 08:52:54.938 | site_controllers[doctype] = import_controller(doctype)
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/model/base_document.py”, line 96, in import_controller
2025-04-17 08:52:54.938 | module = load_doctype_module(doctype, module_name)
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/utils.py”, line 248, in load_doctype_module
2025-04-17 08:52:54.938 | app = get_module_app(module)
2025-04-17 08:52:54.938 | ^^^^^^^^^^^^^^^^^^^^^^
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/utils.py”, line 273, in get_module_app
2025-04-17 08:52:54.938 | frappe.throw(
(“Module {} not found”).format(module), exc=frappe.DoesNotExistError)
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 606, in throw
2025-04-17 08:52:54.938 | msgprint(
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 571, in msgprint
2025-04-17 08:52:54.938 | _raise_exception()
2025-04-17 08:52:54.938 | File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 522, in _raise_exception
2025-04-17 08:52:54.938 | raise exc
2025-04-17 08:52:54.938 | frappe.exceptions.DoesNotExistError: Module Core not found

This issue has been bugging me a lot ever since, on multiple computers and different OS. Even for fresh install

Hi,

It may help to diagnose the problem if we may know the operating environment and instructions being followed.

My apologies. i did not provide it in the first place. This was my first post hence this oversight.
I am using windows and trying this installation on docker. I followed the instructions on the Github and installed it. I tried some fixes in the backend container but all in vain. This was a completely clean install and yet the issues. I tried it on my other device where it worked before but now its same for both my devices.
I hope i can get some help

Did you try the easy install script? GitHub - frappe/bench: CLI to manage Multi-tenant deployments for Frappe apps

I have been using this link and following the instructions from here

Hey, no worries! Happens to the best of us. Since it’s a clean install and the issue’s happening on both devices, maybe something changed upstream or in the Docker image. I’d suggest double-checking the GitHub issues section could be a recent update causing trouble. Also, try pulling the latest Docker images again just to be sure. Good luck!