{"id":20255567,"url":"https://github.com/yoziru/nextjs-vllm-ui","last_synced_at":"2025-10-13T02:31:44.462Z","repository":{"id":226108513,"uuid":"767747181","full_name":"yoziru/nextjs-vllm-ui","owner":"yoziru","description":"Fully-featured, beautiful web interface for vLLM - built with NextJS.","archived":false,"fork":false,"pushed_at":"2025-05-09T15:41:30.000Z","size":6363,"stargazers_count":135,"open_issues_count":4,"forks_count":18,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-09T16:28:36.579Z","etag":null,"topics":["ai","llm-ui","llm-webui","nextjs","openai-api","self-hosted","tailwindcss","typescript","ui","vllm","vllm-ui","webui"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"jakobhoeg/nextjs-ollama-llm-ui","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yoziru.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-03-05T20:36:56.000Z","updated_at":"2025-05-09T15:41:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"595ac389-31bc-4157-981b-bbbe3c0758b0","html_url":"https://github.com/yoziru/nextjs-vllm-ui","commit_stats":null,"previous_names":["yoziru/nextjs-vllm-ui"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yoziru/nextjs-vllm-ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoziru%2Fnextjs-vllm-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoziru%2Fnextjs-vllm-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoziru%2Fnextjs-vllm-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoziru%2Fnextjs-vllm-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yoziru","download_url":"https://codeload.github.com/yoziru/nextjs-vllm-ui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoziru%2Fnextjs-vllm-ui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279014022,"owners_count":26085346,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","llm-ui","llm-webui","nextjs","openai-api","self-hosted","tailwindcss","typescript","ui","vllm","vllm-ui","webui"],"created_at":"2024-11-14T10:39:22.637Z","updated_at":"2025-10-13T02:31:44.428Z","avatar_url":"https://github.com/yoziru.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nextjs-vllm-ui\r\n\r\nForked from https://github.com/jakobhoeg/nextjs-ollama-llm-ui\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n  \u003cimg src=\"ollama-nextjs-ui.gif\"\u003e\r\n\u003c/div\u003e\r\n\r\n\u003ch1 align=\"center\"\u003e\r\n  Fully-featured \u0026 beautiful web interface for vLLM \u0026 Ollama\r\n\u003c/h1\u003e\r\n\r\nGet up and running with Large Language Models **quickly**, **locally** and even **offline**.\r\nThis project aims to be the easiest way for you to get started with LLMs. No tedious and annoying setup required!\r\n\r\n# Features ✨\r\n\r\n- **Beautiful \u0026 intuitive UI:** Inspired by ChatGPT, to enhance similarity in the user experience.\r\n- **Fully local:** Stores chats in localstorage for convenience. No need to run a database.\r\n- **Fully responsive:** Use your phone to chat, with the same ease as on desktop.\r\n- **Easy setup:** No tedious and annoying setup required. Just clone the repo and you're good to go!\r\n- **Code syntax highligting:** Messages that include code, will be highlighted for easy access.\r\n- **Copy codeblocks easily:** Easily copy the highlighted code with one click.\r\n- **Chat history:** Chats are saved and easily accessed.\r\n- **Light \u0026 Dark mode:** Switch between light \u0026 dark mode.\r\n\r\n# Preview\r\n\r\nhttps://github.com/jakobhoeg/nextjs-ollama-llm-ui/assets/114422072/08eaed4f-9deb-4e1b-b87a-ba17d81b9a02\r\n\r\n# Requisites ⚙️\r\n\r\nTo use the web interface, these requisites must be met:\r\n\r\n1. Download [vLLM](https://docs.vllm.ai/en/latest/) and have it running. Or run it in a Docker container.\r\n2. [Node.js](https://nodejs.org/en/download) (18+), [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) and [yarn](https://classic.yarnpkg.com/lang/en/docs/install/#mac-stable) is required.\r\n\r\n# Usage 🚀\r\n\r\nThe easiest way to get started is to use the pre-built Docker image.\r\n\r\n```\r\ndocker run --rm -d -p 3000:3000 -e VLLM_URL=http://host.docker.internal:8000 ghcr.io/yoziru/nextjs-vllm-ui:latest\r\n```\r\n\r\nIf you're using Ollama, you need to set the `VLLM_MODEL`:\r\n\r\n```\r\ndocker run --rm -d -p 3000:3000 -e VLLM_URL=http://host.docker.internal:11434 -e VLLM_TOKEN_LIMIT=8192 -e VLLM_MODEL=llama3 ghcr.io/yoziru/nextjs-vllm-ui:latest\r\n```\r\n\r\nIf your server is running on a different IP address or port, you can use the `--network host` mode in Docker, e.g.:\r\n\r\n```\r\ndocker run --rm -d --network host -e VLLM_URL=http://192.1.0.110:11434 -e VLLM_TOKEN_LIMIT=8192 -e VLLM_MODEL=llama3 ghcr.io/yoziru/nextjs-vllm-ui:latest\r\n```\r\n\r\nThen go to [localhost:3000](http://localhost:3000) and start chatting with your favourite model!\r\n\r\n# Development 📖\r\n\r\nTo install and run a local environment of the web interface, follow the instructions below.\r\n\r\n1. **Clone the repository to a directory on your pc via command prompt:**\r\n\r\n   ```\r\n   git clone https://github.com/yoziru/nextjs-vllm-ui\r\n   ```\r\n\r\n1. **Open the folder:**\r\n\r\n   ```\r\n   cd nextjs-vllm-ui\r\n   ```\r\n\r\n1. ** Rename the `.example.env` to `.env`:**\r\n\r\n   ```\r\n   mv .example.env .env\r\n   ```\r\n\r\n1. **If your instance of vLLM is NOT running on the default ip-address and port, change the variable in the .env file to fit your usecase:**\r\n\r\n   ```\r\n   VLLM_URL=\"http://localhost:8000\"\r\n   VLLM_API_KEY=\"your-api-key\"\r\n   VLLM_MODEL=\"llama3:8b\"\r\n   VLLM_TOKEN_LIMIT=4096\r\n   ```\r\n\r\n1. **Install dependencies:**\r\n\r\n   ```\r\n   yarn install\r\n   ```\r\n\r\n1. **Start the development server:**\r\n\r\n   ```\r\n   yarn dev\r\n   ```\r\n\r\n1. **Go to [localhost:3000](http://localhost:3000) and start chatting with your favourite model!**\r\n\r\nYou can also build and run the docker image locally with this command:\r\n\r\n```sh\r\ndocker build . -t ghcr.io/yoziru/nextjs-vllm-ui:latest \\\r\n \u0026\u0026 docker run --rm \\\r\n  -p 3000:3000 \\\r\n  -e VLLM_URL=http://host.docker.internal:11434 \\\r\n  -e VLLM_MODEL=llama3.1:8b-instruct-q8_0 \\\r\n  -e NEXT_PUBLIC_TOKEN_LIMIT=\"8192\" \\\r\n  ghcr.io/yoziru/nextjs-vllm-ui:latest\r\n```\r\n\r\n# Tech stack\r\n\r\n[NextJS](https://nextjs.org/) - React Framework for the Web\r\n\r\n[TailwindCSS](https://tailwindcss.com/) - Utility-first CSS framework\r\n\r\n[shadcn-ui](https://ui.shadcn.com/) - UI component built using Radix UI and Tailwind CSS\r\n\r\n[shadcn-chat](https://github.com/jakobhoeg/shadcn-chat) - Chat components for NextJS/React projects\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoziru%2Fnextjs-vllm-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyoziru%2Fnextjs-vllm-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoziru%2Fnextjs-vllm-ui/lists"}