toverainc / willow-application-server

Willow Application Server
Apache License 2.0
19 stars 9 forks source link

RuntimeError: Directory 'static/admin' does not exist #44

Closed keith721 closed 10 months ago

keith721 commented 10 months ago

Trying to setup WAS tonight. WIS is running on the same server. Ran the git clone command, ./utils.sh build, all okay. Ran ./utils.sh run and received a program error dump, with the title above as the final line. Full output below. Hopefully, there's a fix pending or already available?

willow@willow:~/willow-application-server$ ./utils.sh run
Using configuration overrides from .env file
WAS Web UI URL is http://192.168.1.15:8502
[+] Running 1/0
 ✔ Container willow-application-server-was-1  Created                                                                                                                                    0.0s
Attaching to willow-application-server-was-1
willow-application-server-was-1  | Traceback (most recent call last):
willow-application-server-was-1  |   File "/usr/local/bin/uvicorn", line 8, in <module>
willow-application-server-was-1  |     sys.exit(main())
willow-application-server-was-1  |              ^^^^^^
willow-application-server-was-1  |   File "/usr/local/lib/python3.12/site-packages/click/core.py", line 1157, in __call__
willow-application-server-was-1  |     return self.main(*args, **kwargs)
willow-application-server-was-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
willow-application-server-was-1  |   File "/usr/local/lib/python3.12/site-packages/click/core.py", line 1078, in main
willow-application-server-was-1  |     rv = self.invoke(ctx)
willow-application-server-was-1  |          ^^^^^^^^^^^^^^^^
willow-application-server-was-1  |   File "/usr/local/lib/python3.12/site-packages/click/core.py", line 1434, in invoke
willow-application-server-was-1  |     return ctx.invoke(self.callback, **ctx.params)
willow-application-server-was-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
willow-application-server-was-1  |   File "/usr/local/lib/python3.12/site-packages/click/core.py", line 783, in invoke
willow-application-server-was-1  |     return __callback(*args, **kwargs)
willow-application-server-was-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
willow-application-server-was-1  |   File "/usr/local/lib/python3.12/site-packages/uvicorn/main.py", line 416, in main
willow-application-server-was-1  |     run(
willow-application-server-was-1  |   File "/usr/local/lib/python3.12/site-packages/uvicorn/main.py", line 587, in run
willow-application-server-was-1  |     server.run()
willow-application-server-was-1  |   File "/usr/local/lib/python3.12/site-packages/uvicorn/server.py", line 61, in run
willow-application-server-was-1  |     return asyncio.run(self.serve(sockets=sockets))
willow-application-server-was-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
willow-application-server-was-1  |   File "/usr/local/lib/python3.12/asyncio/runners.py", line 194, in run
willow-application-server-was-1  |     return runner.run(main)
willow-application-server-was-1  |            ^^^^^^^^^^^^^^^^
willow-application-server-was-1  |   File "/usr/local/lib/python3.12/asyncio/runners.py", line 118, in run
willow-application-server-was-1  |     return self._loop.run_until_complete(task)
willow-application-server-was-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
willow-application-server-was-1  |   File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
willow-application-server-was-1  |   File "/usr/local/lib/python3.12/site-packages/uvicorn/server.py", line 68, in serve
willow-application-server-was-1  |     config.load()
willow-application-server-was-1  |   File "/usr/local/lib/python3.12/site-packages/uvicorn/config.py", line 467, in load
willow-application-server-was-1  |     self.loaded_app = import_from_string(self.app)
willow-application-server-was-1  |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
willow-application-server-was-1  |   File "/usr/local/lib/python3.12/site-packages/uvicorn/importer.py", line 21, in import_from_string
willow-application-server-was-1  |     module = importlib.import_module(module_str)
willow-application-server-was-1  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
willow-application-server-was-1  |   File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
willow-application-server-was-1  |     return _bootstrap._gcd_import(name[level:], package, level)
willow-application-server-was-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
willow-application-server-was-1  |   File "<frozen importlib._bootstrap>", line 1381, in _gcd_import
willow-application-server-was-1  |   File "<frozen importlib._bootstrap>", line 1354, in _find_and_load
willow-application-server-was-1  |   File "<frozen importlib._bootstrap>", line 1325, in _find_and_load_unlocked
willow-application-server-was-1  |   File "<frozen importlib._bootstrap>", line 929, in _load_unlocked
willow-application-server-was-1  |   File "<frozen importlib._bootstrap_external>", line 994, in exec_module
willow-application-server-was-1  |   File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
willow-application-server-was-1  |   File "/app/api.py", line 206, in <module>
willow-application-server-was-1  |     app.mount("/admin", StaticFiles(directory="static/admin", html=True), name="admin")
willow-application-server-was-1  |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
willow-application-server-was-1  |   File "/usr/local/lib/python3.12/site-packages/starlette/staticfiles.py", line 57, in __init__
willow-application-server-was-1  |     raise RuntimeError(f"Directory '{directory}' does not exist")
willow-application-server-was-1  | RuntimeError: Directory 'static/admin' does not exist
willow-application-server-was-1 exited with code 0
nikito commented 10 months ago

Looks like you are building was from scratch, which is intended more for developers; was on it's own does not have the UI, you would have to pull the UI repo and build that separately so it is added, that's what the error message is indicating. If you just want to run WAS, it's easier to just use the docker command outlined here: https://heywillow.io/quick-start-guide/#install-was

keith721 commented 10 months ago

Thank you! :)