Added a configuration key, `service.staticpath`, to allow the serving
of files from the provided path. By default, the path is empty and
Vikunja's existing behaviour is unchanged.
Providing a path via the configuration, adds a static file middleware to
serve the path's contents from root (/).
Being able to serve static files allows the api service to also serve
the frontend content. This adds a simple option for deploying Vikunja
without needing any other servers or proxies.
Running a complete instance becomes:
VIKUNJA_SERVICE_STATICPATH=/path/to/frontend ./vikunja
Where /path/to/frontend is a copy of Vikunja's frontend static files.
Future improvements could embed a copy of the frontend files via the
fs.FS and embed package. Alternatively a reverse proxy could be offered
using http/httputil's ReverseProxy; this would allow another server to
maintain a default set of frontend files without embedding.