# Backend.AI Web Server
[![GitHub version](https://badge.fury.io/gh/lablup%2Fbackend.ai-webserver.svg)](https://badge.fury.io/gh/lablup%2Fbackend.ai-webserver) [![PyPI version](https://badge.fury.io/py/backend.ai-webserver.svg)](https://badge.fury.io/py/backend.ai-webserver)
A webapp hosting daemon which serves our `webui` as a SPA and proxies API requests
## Installation
Prepare a Python virtualenv (Python 3.9 or higher) and a Redis server (6.2 or higher).
```console
$ git clone https://github.com/lablup/backend.ai-webserver webserver
$ cd webserver
$ pip install -U -e .
$ cp webserver.sample.conf webserver.conf
```
## Mode
If `service.mode` is set "webui" (the default), the webserver handles
PWA-style fallbacks (e.g., serving `index.html` when there are no matching
files for the requested URL path).
The PWA must exclude `/server` and `/func` URL prefixes from its own routing
to work with the webserver's web sessions and the API proxy.
If it is set "static", the webserver serves the static files as-is,
without any fallbacks or hooking, while preserving the `/server` and `/func`
prefixed URLs and their functionalities.
If you want to serve web UI in webserver with "webui" mode, prepare static web UI source by choosing one of the followings.
### Option 1: Build web UI from source
Build **[backend.ai-webui](https://github.com/lablup/backend.ai-webui)** and copy all files under `build/bundle`
into the `src/ai/backend/web/static` directory.
### Option 2: Use pre-built web UI
To download and deploy web UI from pre-built source, do the following:
```console
git submodule init
git submodule update
cd src/ai/backend/web/static
git checkout main # or target branch
git fetch
git pull
```
### Setup configuration for webserver
You don't have to write `config.toml` for the web UI as this webserver auto-generates it on-the-fly.
Edit `webserver.conf` to match with your environment.
## Usage
To execute web server, run command below. (for debugging, append a `--debug` flag)
```console
$ python -m ai.backend.web.server
```
Raw data
{
"_id": null,
"home_page": "https://github.com/lablup/backend.ai",
"name": "backend.ai-webserver",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.12",
"maintainer_email": null,
"keywords": null,
"author": "Lablup Inc. and contributors",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/36/5f/7656d5886c61abb75dc571f74c9077a2420c07c4b1311e31d0f46bd500d0/backend.ai-webserver-24.3.2.tar.gz",
"platform": null,
"description": "# Backend.AI Web Server\n\n[![GitHub version](https://badge.fury.io/gh/lablup%2Fbackend.ai-webserver.svg)](https://badge.fury.io/gh/lablup%2Fbackend.ai-webserver) [![PyPI version](https://badge.fury.io/py/backend.ai-webserver.svg)](https://badge.fury.io/py/backend.ai-webserver)\n\nA webapp hosting daemon which serves our `webui` as a SPA and proxies API requests\n\n\n## Installation\n\nPrepare a Python virtualenv (Python 3.9 or higher) and a Redis server (6.2 or higher).\n\n```console\n$ git clone https://github.com/lablup/backend.ai-webserver webserver\n$ cd webserver\n$ pip install -U -e .\n$ cp webserver.sample.conf webserver.conf\n```\n\n## Mode\n\nIf `service.mode` is set \"webui\" (the default), the webserver handles\nPWA-style fallbacks (e.g., serving `index.html` when there are no matching\nfiles for the requested URL path).\nThe PWA must exclude `/server` and `/func` URL prefixes from its own routing\nto work with the webserver's web sessions and the API proxy.\n\nIf it is set \"static\", the webserver serves the static files as-is,\nwithout any fallbacks or hooking, while preserving the `/server` and `/func`\nprefixed URLs and their functionalities.\n\nIf you want to serve web UI in webserver with \"webui\" mode, prepare static web UI source by choosing one of the followings.\n\n### Option 1: Build web UI from source\n\nBuild **[backend.ai-webui](https://github.com/lablup/backend.ai-webui)** and copy all files under `build/bundle`\ninto the `src/ai/backend/web/static` directory.\n\n### Option 2: Use pre-built web UI\n\nTo download and deploy web UI from pre-built source, do the following:\n\n```console\ngit submodule init\ngit submodule update\ncd src/ai/backend/web/static\ngit checkout main # or target branch\ngit fetch\ngit pull\n```\n### Setup configuration for webserver\n\nYou don't have to write `config.toml` for the web UI as this webserver auto-generates it on-the-fly.\n\nEdit `webserver.conf` to match with your environment.\n\n\n## Usage\n\nTo execute web server, run command below. (for debugging, append a `--debug` flag)\n\n\n```console\n$ python -m ai.backend.web.server\n```\n",
"bugtrack_url": null,
"license": "LGPLv3",
"summary": "Backend.AI WebUI Host",
"version": "24.3.2",
"project_urls": {
"Documentation": "https://docs.backend.ai/",
"Homepage": "https://github.com/lablup/backend.ai",
"Source": "https://github.com/lablup/backend.ai"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a56149bd29bcee0cf78fc664821b491793b216f7a1f911727ea32690e89da454",
"md5": "05fa6a92d309aaedf04897746c9bd67f",
"sha256": "03e830b5a7f5c787f6fffa4fee3cfbb034b38df9bc34425c7664b88c1139ddd9"
},
"downloads": -1,
"filename": "backend.ai_webserver-24.3.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "05fa6a92d309aaedf04897746c9bd67f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.12",
"size": 13038848,
"upload_time": "2024-04-17T06:46:59",
"upload_time_iso_8601": "2024-04-17T06:46:59.885144Z",
"url": "https://files.pythonhosted.org/packages/a5/61/49bd29bcee0cf78fc664821b491793b216f7a1f911727ea32690e89da454/backend.ai_webserver-24.3.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "365f7656d5886c61abb75dc571f74c9077a2420c07c4b1311e31d0f46bd500d0",
"md5": "b86c479fb1819840ef20a6ac82717c17",
"sha256": "ecb094159892f14125aabc31c2828b8f737a37a6b68c87ca38cb84efb76497cd"
},
"downloads": -1,
"filename": "backend.ai-webserver-24.3.2.tar.gz",
"has_sig": false,
"md5_digest": "b86c479fb1819840ef20a6ac82717c17",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.12",
"size": 12876580,
"upload_time": "2024-04-17T06:47:26",
"upload_time_iso_8601": "2024-04-17T06:47:26.343733Z",
"url": "https://files.pythonhosted.org/packages/36/5f/7656d5886c61abb75dc571f74c9077a2420c07c4b1311e31d0f46bd500d0/backend.ai-webserver-24.3.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-17 06:47:26",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "lablup",
"github_project": "backend.ai",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "backend.ai-webserver"
}