{"id":20929149,"url":"https://github.com/dotfinity/proxysql-admin-ui","last_synced_at":"2026-02-27T02:31:42.005Z","repository":{"id":263331419,"uuid":"880815169","full_name":"Dotfinity/proxysql-admin-ui","owner":"Dotfinity","description":"A modern ProxySql admin management interface","archived":false,"fork":false,"pushed_at":"2024-12-12T22:27:56.000Z","size":250,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-13T18:43:52.482Z","etag":null,"topics":["asp-net-core","blazor","csharp","databases","mariadb","mysql","proxysql"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Dotfinity.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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-10-30T12:14:45.000Z","updated_at":"2025-05-12T09:17:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"e673cdd5-8e9b-420a-abd5-398b8658daf5","html_url":"https://github.com/Dotfinity/proxysql-admin-ui","commit_stats":null,"previous_names":["dotfinity/proxysql-admin-ui"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Dotfinity/proxysql-admin-ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dotfinity%2Fproxysql-admin-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dotfinity%2Fproxysql-admin-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dotfinity%2Fproxysql-admin-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dotfinity%2Fproxysql-admin-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dotfinity","download_url":"https://codeload.github.com/Dotfinity/proxysql-admin-ui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dotfinity%2Fproxysql-admin-ui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276966325,"owners_count":25736757,"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-09-25T02:00:09.612Z","response_time":80,"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":["asp-net-core","blazor","csharp","databases","mariadb","mysql","proxysql"],"created_at":"2024-11-18T21:17:32.446Z","updated_at":"2025-09-25T18:52:04.127Z","avatar_url":"https://github.com/Dotfinity.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/dotfinity/proxysql-admin-ui/docker-container-publish.yml)\n\n----\n\n# ProxySQL Admin UI\n\nA modern web interface for managing ProxySQL, built with Blazor and .NET Core.\n\n## Screenshots\n\n\u003ca href=\"https://img.dotfinity.eu/proxysql-admin-ui-dashboard-page.png\"\u003e\n  \u003cimg src=\"https://img.dotfinity.eu/proxysql-admin-ui-dashboard-page.png\" alt=\"Dashboard\" width=\"400\" height=\"200\"/\u003e\n\u003c/a\u003e\n\u003ca href=\"https://img.dotfinity.eu/proxysql-admin-ui-query-digest-stats-page.png\"\u003e\n  \u003cimg src=\"https://img.dotfinity.eu/proxysql-admin-ui-query-digest-stats-page.png\" alt=\"Qiery digest stats\" width=\"400\" height=\"200\"/\u003e\n\u003c/a\u003e\n\u003ca href=\"https://img.dotfinity.eu/proxysql-admin-ui-query-rules-page.png\"\u003e\n  \u003cimg src=\"https://img.dotfinity.eu/proxysql-admin-ui-query-rules-page.png\" alt=\"Query rules page\" width=\"400\" height=\"200\"/\u003e\n\u003c/a\u003e\n\u003ca href=\"https://img.dotfinity.eu/proxysql-admin-ui-global-variables-page.png\"\u003e\n  \u003cimg src=\"https://img.dotfinity.eu/proxysql-admin-ui-global-variables-page.png\" alt=\"Admin global variables editor page\" width=\"400\" height=\"200\"/\u003e\n\u003c/a\u003e\n\n## Features\n\n- Dashboard with metrics\n- ProxySQL management:\n  - Mysql backend server configuration\n  - Mysql Users configuration\n  - Query rules configuration\n  - Query digest grid with stats and filters\n  - Global variables configuration\n\n## Tech Stack\n\n- ASP.NET Core (.NET 8)  \n- Blazor Server\n- Entity Framework Core\n- [Radzen Blazor Components](https://blazor.radzen.com/)\n- SQLite (for auth data)\n\n## Getting Started\n\n### Prerequisites\n\n- .NET 8 SDK\n- Running ProxySQL instance\n\n### Configuration\n\n#### Local Configuration\n\n1. Configure ProxySQL connection in `appsettings.json`:\n\n```json\n\"ConnectionStrings\": {\n    \"ProxySqlContext\": \"Server=0.0.0.0;Port=6033;Uid=radmin;Pwd=radmin;ConnectionReset=False;Pooling=True;ConnectionLifeTime=3000000;\"\n  },\n  \"DefaultUsers\": [\n    {\n      \"Username\": \"admin\",\n      \"Password\": \"AdminAdminAdmin1\"\n    }\n  ]\n```\n\n2. Start the application:\n\n```bash\ndotnet watch --project ProxysqlAdminUi.Web/ProxysqlAdminUi.Web.csproj\n```\n\n#### Docker Configuration\n\nSet the environment variables in the `docker-compose.yml` file:\n\n```yml\nenvironment:\n  ASPNETCORE_ENVIRONMENT: Production\n  ASPNETCORE_URLS: 'http://+:8000'\n  # Connection string for the ProxySQL server\n  PAI_ConnectionStrings__ProxySqlContext: 'Server=xxxxxx;Port=6033;Uid=radmin;Pwd=radmin;ConnectionReset=False;Pooling=True;ConnectionLifeTime=3000000;'\n```\n\nor if you're running the app and the proxysql server in the same docker-compose file, you can use the service name as the host:\n\n```yml\nenvironment:\n  ASPNETCORE_ENVIRONMENT: Production\n  ASPNETCORE_URLS: 'http://+:8000'\n  # Connection string for the ProxySQL server\n  PAI_ConnectionStrings__ProxySqlContext: 'Server=proxysql;Port=6033;Uid=radmin;Pwd=radmin;ConnectionReset=False;Pooling=True;ConnectionLifeTime=3000000;'\n```\n\n## Random notes\n\n\u003eOne query rule can have many digests! \n\u003e example: if one rule matches by table prefix \"ps_setting*\"\n\u003e if there are 10 tables being accessed, via 20 queries, that would result in 40 different digests. \n\u003e 20 for the uncached queries and 20 for the cache hits. \n\n\n## License\n\n[MIT](/LICENSE.md)\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotfinity%2Fproxysql-admin-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdotfinity%2Fproxysql-admin-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotfinity%2Fproxysql-admin-ui/lists"}