backend.ai-webserver


Namebackend.ai-webserver JSON
Version 24.3.2 PyPI version JSON
download
home_pagehttps://github.com/lablup/backend.ai
SummaryBackend.AI WebUI Host
upload_time2024-04-17 06:47:26
maintainerNone
docs_urlNone
authorLablup Inc. and contributors
requires_python<3.13,>=3.12
licenseLGPLv3
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.24161s