Put static assets in a separate directory so they can be delivered directly by nginx

This commit is contained in:
Ian Renton
2026-07-25 16:49:49 +01:00
parent 555a8418a9
commit 3c4c595288
20 changed files with 157 additions and 130 deletions
+4 -2
View File
@@ -15,6 +15,7 @@ from server.handlers.api.options import APIOptionsHandler
from server.handlers.api.solar_conditions import APISolarConditionsHandler
from server.handlers.api.spots import APISpotsHandler, APISpotsStreamHandler
from server.handlers.api.status import APIStatusHandler
from server.handlers.manifesthandler import ManifestHandler
from server.handlers.metrics import PrometheusMetricsHandler
from server.handlers.pagetemplate import PageTemplateHandler
from server.handlers.quietstaticfilehandler import QuietStaticFileHandler
@@ -100,11 +101,12 @@ class WebServer:
if ALLOW_SPOTTING:
ui_routes += [(r"/add-spot", PageTemplateHandler, {"template_name": "add_spot", **handler_opts})]
# API docs, Prometheus metrics, and finally static assets are always available regardless of API-only mode.
# API docs, Prometheus metrics, webapp manifest and static assets are always available regardless of API-only mode.
misc_routes = [
(r"/apidocs", PageTemplateHandler, {"template_name": "apidocs", **handler_opts}),
(r"/metrics", PrometheusMetricsHandler),
(r"/(.*)", QuietStaticFileHandler, {"path": os.path.join(_HERE, "../webassets")})
(r"/manifest.webmanifest", ManifestHandler),
(r"/static/(.*)", QuietStaticFileHandler, {"path": os.path.join(_HERE, "../webassets")})
]
app = tornado.web.Application(api_routes + ui_routes + misc_routes,