{"id":28547953,"url":"https://github.com/ydb-platform/ydb-embedded-ui","last_synced_at":"2026-02-16T16:23:10.391Z","repository":{"id":37756208,"uuid":"458166037","full_name":"ydb-platform/ydb-embedded-ui","owner":"ydb-platform","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-19T15:18:37.000Z","size":200372,"stargazers_count":30,"open_issues_count":287,"forks_count":19,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-01-19T21:43:40.322Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://ydb.tech/docs/en/reference/embedded-ui/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ydb-platform.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2022-02-11T11:51:23.000Z","updated_at":"2026-01-19T11:32:26.000Z","dependencies_parsed_at":"2023-10-16T18:44:08.184Z","dependency_job_id":"fe0c9121-563e-4255-b03c-86e1a8105c55","html_url":"https://github.com/ydb-platform/ydb-embedded-ui","commit_stats":{"total_commits":617,"total_committers":9,"mean_commits":68.55555555555556,"dds":0.5105348460291734,"last_synced_commit":"49f13cf0cff2d6dad59b8f6a4c2885966bf3450a"},"previous_names":[],"tags_count":358,"template":false,"template_full_name":null,"purl":"pkg:github/ydb-platform/ydb-embedded-ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ydb-platform%2Fydb-embedded-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ydb-platform%2Fydb-embedded-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ydb-platform%2Fydb-embedded-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ydb-platform%2Fydb-embedded-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ydb-platform","download_url":"https://codeload.github.com/ydb-platform/ydb-embedded-ui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ydb-platform%2Fydb-embedded-ui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28597985,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T02:08:49.799Z","status":"ssl_error","status_checked_at":"2026-01-20T02:08:44.148Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2025-06-10T01:08:16.331Z","updated_at":"2026-01-20T07:03:01.313Z","avatar_url":"https://github.com/ydb-platform.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ydb-embedded-ui\n\nLocal viewer for YDB clusters\n\n- [Docs for users](https://ydb.tech/en/docs/maintenance/embedded_monitoring/ydb_monitoring)\n- [Project Roadmap](ROADMAP.md)\n\n## Preview\n\nYou can preview working UI using YDB docker image. It will be UI with the latest stable ydb version.\n\nRun on a machine with Docker installed:\n\n```\ndocker pull ghcr.io/ydb-platform/local-ydb:nightly\ndocker run -dp 8765:8765 ghcr.io/ydb-platform/local-ydb:nightly\n```\n\nOpen http://localhost:8765 to view it in the browser.\n\n## Development\n\n1. Run on a machine with Docker installed:\n   ```\n   docker run --rm -ti --name ydb-local -h localhost \\\n      -p 8765:8765 \\\n      -e MON_PORT=8765 \\\n      ghcr.io/ydb-platform/local-ydb:nightly\n   ```\n2. Install dependencies with `npm ci`\n3. Run the frontend app in the development mode, via invoking `npm run dev`\n4. Open [localhost:3000](http://localhost:3000) to view it in the browser. The page will reload if you make edits.\\\n   You will also see any lint errors in the console.\n\nFor API reference, open Swagger UI on http://localhost:8765/viewer/api/.\n\n### YDB docker images\n\n[Docs on YDB docker images](https://ydb.tech/en/docs/getting_started/self_hosted/ydb_docker)\n\nTo test new features, you can use ydb version built from `main` brunch with `ghcr.io/ydb-platform/local-ydb:nightly` image.\nAlso you can set specific version like `ghcr.io/ydb-platform/local-ydb:24.1`\n\n### Custom configuration in dev mode with .env file\n\nYou can run the app with your own params by adding `.env` file to project root. There is an example in `.env.example`.\n\n1. Add `.env` file to project root by copying example\n\n```shell script\ncp .env.example .env\n```\n\n2. Set your own set of params in `.env`\n3. Run `npm run start`. Your custom params from `.env` file will be applied\n\n#### Custom backend in dev mode\n\nYDB docker represents a single node cluster with only one version, small amount of storage groups, PDisks and VDisks. It may be not enough for development purposes. If you have your own development cluster with sufficient amount of entities, you can run the app in the dev mode with this cluster as backend. To do it, alter `REACT_APP_BACKEND` param in your `.env` file:\n\n```\nREACT_APP_BACKEND=http://your-cluster-host:8765\nREACT_APP_META_BACKEND=undefined\nMETA_YDB_BACKEND=undefined\n```\n\n#### Meta backend in dev mode (multi cluster)\n\nIf you have meta backend for multi cluster version, you can run the app in dev mode with this backend by setting `REACT_APP_META_BACKEND` param in `.env`:\n\n```\nREACT_APP_BACKEND=undefined\nREACT_APP_META_BACKEND=http://your-meta-host:8765\nMETA_YDB_BACKEND=undefined\n```\n\nIf you need to connect to the meta backend from a server, you need to set `META_YDB_BACKEND` param in `.env`:\n\n```\nREACT_APP_BACKEND=undefined\nREACT_APP_META_BACKEND=undefined\nMETA_YDB_BACKEND=http://your-meta-host:8765\n```\n\n## E2E Tests\n\nFor e2e tests we use `@playwright/tests`. Tests configuration is in `playwright.config.ts`. Tests are set up in `tests` dir.\n\n### Commands\n\nInstall all Playwright dependencies and chromium to run tests.\n\n```\nnpm run test:e2e:install\n```\n\nRun tests. If `PLAYWRIGHT_BASE_URL` is provided, tests run on this url, otherwise Playwright `webServer` is started with `npm run dev` on `http://localhost:3000` and all tests run there. If `PLAYWRIGHT_APP_BACKEND` is provided, tests will be use this url as backend, otherwise `http://localhost:8765` will be used.\n\n```\nnpm run test:e2e\n```\n\n### CI\n\nE2E tests are run in CI in `e2e_tests` job. Tests run on Playwright `webServer` (it is started with `npm run dev`), `webServer` uses docker container `ghcr.io/ydb-platform/local-ydb:nightly` as backend.\n\n## Making a production bundle.\n\nBase command `npm run build` builds the app for production to the `build` folder.\\\nIt correctly bundles React in production mode and optimizes the build for the best performance.\n\nThe build is minified and the filenames include the hashes.\n\nTo test production bundle with latest YDB backend release, do the following:\n\n1. Install dependencies with `npm ci`\n2. Build a production bundle with a few tweaks for embedded version: `npm run build:embedded`.\n3. Invoke `docker run -it --hostname localhost -dp 2135:2135 -p 8765:8765 -v ~/projects/ydb-embedded-ui/build:/ydb_data/node_1/content/monitoring ghcr.io/ydb-platform/local-ydb:nightly`\n4. Open [embedded YDB UI](http://localhost:8765/monitoring) to view it in the browser.\n\n### Testing production bundle with specific cluster host\n\nIf you want to test embedded version in production mode, but YDB docker is not enough and you have your own ydb development cluster, you can manually update UI for the specific cluster host.\n\nIt also could be usefull for development purposes, because some operations, that are not 'read-only', like some update queries or tablets restart could be allowed by CORS only for the same origin and so could not be executed in dev mode.\n\n1. Install dependencies with `npm ci`\n2. Create production bundle with `npm run build:embedded`\n3. Copy your build files from `build` folder to `/content/monitoring` folder on desired cluster host\n4. Open `http://your-cluster-host:8765/monitoring` to see updated UI\n\nIt's assumed, that you have all the necessary access rights to update files on the host.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fydb-platform%2Fydb-embedded-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fydb-platform%2Fydb-embedded-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fydb-platform%2Fydb-embedded-ui/lists"}