{"id":19152772,"url":"https://github.com/traefik/hub-apiportal-ui","last_synced_at":"2026-02-09T10:02:32.547Z","repository":{"id":165933325,"uuid":"632329991","full_name":"traefik/hub-apiportal-ui","owner":"traefik","description":"Traefik Hub's API Portal Template","archived":false,"fork":false,"pushed_at":"2025-09-08T07:59:48.000Z","size":760,"stargazers_count":1,"open_issues_count":0,"forks_count":4,"subscribers_count":12,"default_branch":"main","last_synced_at":"2026-01-20T01:06:11.752Z","etag":null,"topics":["traefik-hub"],"latest_commit_sha":null,"homepage":"https://hub.traefik.io","language":"CSS","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/traefik.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}},"created_at":"2023-04-25T07:28:21.000Z","updated_at":"2025-08-22T09:30:09.000Z","dependencies_parsed_at":"2024-07-27T01:33:08.546Z","dependency_job_id":null,"html_url":"https://github.com/traefik/hub-apiportal-ui","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/traefik/hub-apiportal-ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/traefik%2Fhub-apiportal-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/traefik%2Fhub-apiportal-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/traefik%2Fhub-apiportal-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/traefik%2Fhub-apiportal-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/traefik","download_url":"https://codeload.github.com/traefik/hub-apiportal-ui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/traefik%2Fhub-apiportal-ui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29261651,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T04:11:57.159Z","status":"ssl_error","status_checked_at":"2026-02-09T04:11:56.117Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["traefik-hub"],"created_at":"2024-11-09T08:19:20.574Z","updated_at":"2026-02-09T10:02:32.542Z","avatar_url":"https://github.com/traefik.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\" style=\"margin: 30px;\"\u003e\n\u003ca href=\"https://hub.traefik.io/\"\u003e\n  \u003cimg src=\"https://doc.traefik.io/traefik-hub/img/hub-logo-light.svg\" style=\"width:250px;\" align=\"center\" /\u003e\n\u003c/a\u003e\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003ca href=\"https://hub.traefik.io\"\u003eLog In\u003c/a\u003e |\n    \u003ca href=\"https://doc.traefik.io/traefik-hub/\"\u003eDocumentation\u003c/a\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\u003cstrong\u003eTraefik Hub Portal UI\u003c/strong\u003e\u003cbr\u003eTraefik Hub's API Portal Template\u003cbr\u003e\n\u003cbr /\u003e\n\u003cbr /\u003e\n\u003c/div\u003e\n\nWelcome to Traefik Hub's API Portal Template repository!\n\nThe repository is a starting point for building your own custom API Portal UI.\n\nIt includes a set of HTML, CSS, and JavaScript files that you can customize to match your branding and requirements.\n\n## Getting started\n\nTo get started, fork this repository and modify the template to your liking.\n\nOnce modified, you will need to:\n\n- Build the Docker image using `make image`\n- Create a Kubernetes Deployment using the new image\n- Expose this deployment behind a Kubernetes Service\n- Update your APIPortal CRD and set the `spec.ui.service` field to the Kubernetes service\n\nA sample Deployment and Service can be found in the [manifest.yaml](./manifest.yaml \"Link to example manifest file\") file.\n\n## Requirements\n\n- [Docker](https://www.docker.com/ \"Link to website of Docker\")\n- [Node.js](https://nodejs.org/en \"Link to website of Node.js\") (at least Node 18)\n- [Yarn Classic](https://classic.yarnpkg.com/lang/en/ \"Link to website of Yarn\")\n- [Git](https://git-scm.com/ \"Link to the website of Git\")\n\n## Development\n\n1. Installing dependencies:\n\n```shell\ncorepack enable\nyarn install\n```\n\n2. Run the development server:\n\n```shell\nyarn start\n```\n\nThe application is running at [http://localhost:3003](http://localhost:3003 \"Link to localhost on port 3003\") in dev mode.\n\nThe local setup uses a Service Worker to intercept HTTP calls and inject a mocked reply.\n\nThis allows to test the application with mocked data and simulate different scenarios without relying on external APIs or services.\n\n\u003e Note that the Service Worker is only active in development mode.\n\n## Testing\n\nRun unit tests:\n\n```shell\nyarn test\n```\n\n## Feedback\n\nIf you have any questions or feedback, please feel free to reach out to us via our [support](https://doc.traefik.io/traefik-hub/support/ \"Link to support information\") or GitHub issues.\n\nWe hope you find this template useful and look forward to seeing what you build with it!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftraefik%2Fhub-apiportal-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftraefik%2Fhub-apiportal-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftraefik%2Fhub-apiportal-ui/lists"}