{"id":18427695,"url":"https://github.com/mugli/orkid-ui","last_synced_at":"2025-04-07T16:33:48.968Z","repository":{"id":34306156,"uuid":"176335553","full_name":"mugli/orkid-ui","owner":"mugli","description":"Dashboard to monitor and manage Orkid task queue ✨","archived":false,"fork":false,"pushed_at":"2023-01-05T12:23:36.000Z","size":5622,"stargazers_count":8,"open_issues_count":25,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-28T05:50:57.383Z","etag":null,"topics":["dashboard","job-queue","monitoring","nodejs","orkid","queue-manager","task-queue"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/mugli.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-03-18T17:22:03.000Z","updated_at":"2023-03-04T05:03:09.000Z","dependencies_parsed_at":"2023-01-15T06:11:34.790Z","dependency_job_id":null,"html_url":"https://github.com/mugli/orkid-ui","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mugli%2Forkid-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mugli%2Forkid-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mugli%2Forkid-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mugli%2Forkid-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mugli","download_url":"https://codeload.github.com/mugli/orkid-ui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223286383,"owners_count":17120000,"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","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":["dashboard","job-queue","monitoring","nodejs","orkid","queue-manager","task-queue"],"created_at":"2024-11-06T05:11:32.538Z","updated_at":"2024-11-06T05:11:33.247Z","avatar_url":"https://github.com/mugli.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# orkid-ui\n\n[![NPM version](https://img.shields.io/npm/v/orkid-ui.svg)](https://www.npmjs.com/package/orkid-ui)\n[![Build Status](https://img.shields.io/circleci/build/github/mugli/orkid-ui/master?token=f78af6f8cfd2fae3da889804cb09d0620495a8f8)](https://circleci.com/gh/mugli/orkid-ui)\n![Dependencies](https://img.shields.io/david/mugli/orkid-ui.svg?style=flat)\n![Dev Dependencies](https://img.shields.io/david/dev/mugli/orkid-ui.svg?style=flat)\n![License](https://img.shields.io/npm/l/orkid-ui?style=flat)\n\nDashboard to monitor and manage [Orkid task queue](https://github.com/mugli/orkid-node).\n\n![screenshot](https://raw.githubusercontent.com/mugli/orkid-ui/master/screenshot.png)\n\n---\n\n## Table of Contents\n\n- [Running locally](#running-locally)\n- [Running with Docker](#running-with-docker)\n- [Running with docker-compose](#running-with-docker-compose-recommended-for-production)\n- [Available Environment Variables](#available-environment-variables)\n- [Development](#development)\n\n---\n\n## Running locally\n\n```md\nMinimum Requirements:\n\n- Node.js \u003e= 10\n- Redis \u003e= 5\n```\n\nThe simplest way to run orkid-ui is using `npx`.\n\n```sh\nnpx orkid-ui\n```\n\nOpen in browser: http://localhost:3100\n\n- This will start orkid-ui in \"non-production mode\" (without basic authentication).\n- It'll try to connect to redis-server on localhost.\n\nYou can change these behaviors using environmental variables ([see below for the full list of supported env variables](#available-environment-variables)). For example:\n\n```sh\nHTTP_PORT=1337 \\\n  HTTP_USER=admin \\\n  HTTP_PASSWORD=\"_your_military_grade_secret_password_\" \\\n  REDIS_HOST=_REDIS_HOST_OR_IP_TO_CONNECT_TO_ \\\n  npx orkid-ui\n```\n\nOpen in browser: http://localhost:1337\n\nThis will start orkid-ui on port 1337 with HTTP Basic Auth protection and it'll connect to the specified `REDIS_HOST` instead of localhost.\n\n\u003e ❄️ However, while this may seem convenient, it'll not restart automatically if it crashes or system reboots. **The recommended approach is to use docker-compose to run orkid-ui in production.**\n\n---\n\n## Running with Docker\n\nDocker images are available for orkid-ui on the Docker Hub: https://hub.docker.com/r/orkidio/orkid-ui\n\nTo start the container:\n\n```sh\n# use sudo if necessary\ndocker run \\\n  --name orkid-ui \\\n  --detach \\\n  --env \"HTTP_USER=admin\" \\\n  --env \"HTTP_PASSWORD=_your_secret_password_\" \\\n  --env \"REDIS_HOST=_REDIS_HOST_OR_IP_TO_CONNECT_TO_\" \\\n  --publish 1337:3100 \\\n  --rm \\\n  orkidio/orkid-ui:\u003cversion\u003e\n```\n\nReplace `\u003cversion\u003e` in `orkidio/orkid-ui:\u003cversion\u003e` with a proper orkid-ui docker image version. **It's always good practice to use a specific version on production**, although you can use `latest` as version too.\n\n\u003e 🙌 For a list of available orkid-ui docker image versions/tags, see here: https://hub.docker.com/r/orkidio/orkid-ui/tags\n\nNow you can access orkid-ui on: http://YOUR_IP:1337 with a username and password.\n\n---\n\n## Running with docker-compose (recommended for production)\n\nIt might be cumbersome to use all the cli flags properly with docker. `docker-compose` provides an easier way.\n\n\u003e **🤗 A sample `docker-compose.yml` file is provided here: https://github.com/mugli/orkid-ui/blob/master/docker-compose.yml**\n\nAgain, replace `\u003cversion\u003e` in `orkidio/orkid-ui:\u003cversion\u003e` with a proper orkid-ui docker image version.\n\n### Common operations with docker-compose\n\n#### 1. Starting orkid-ui\n\nIn the directory where `docker-compose.yml` is present:\n\n```sh\n# use sudo if necessary\ndocker-compose up -d\n```\n\nIf you are using `sudo` and passing env vars from shell to the docker services (like `-HTTP_PASSWORD=\"$MYPASS\"` under the `environment:` key in the yml file), you may need to start it like this:\n\n```sh\n# preserve existing environment variable\nsudo -E docker-compose up -d\n```\n\n#### 2. Stopping orkid-ui\n\nIn the directory where `docker-compose.yml` is present:\n\n```sh\n# use sudo if necessary\ndocker-compose down\n```\n\n#### 3. See if orkid-ui is running\n\nIn the directory where `docker-compose.yml` is present:\n\n```sh\n# use sudo if necessary\ndocker-compose ps\n```\n\n#### 4. Viewing logs\n\nIn the directory where `docker-compose.yml` is present:\n\n```sh\n# use sudo if necessary\ndocker-compose logs\n```\n\n---\n\n## Available Environment Variables\n\nThese env vars are available however you run orkid-ui.\n\n**NODE_ENV**\n\n\u003e When set 'production', it'll ensure HTTP_USER, HTTP_PASSWORD and REDIS_HOST variables are set.\n\n**HTTP_HOST**\n\n\u003e HTTP host/IP to listen to. Default is '0.0.0.0' to listen to all interfaces.\n\n**HTTP_PORT**\n\n\u003e HTTP port to listen to. Default is 3100.\n\n**HTTP_USER**\n\n\u003e User for HTTP Basic Authentication. Must be present when NODE_ENV is 'production'. Both user and password need to be present for HTTP Basic Authentication.\n\n**HTTP_PASSWORD**\n\n\u003e Password for HTTP Basic Authentication. Must be present when NODE_ENV is 'production'. Both user and password need to be present for HTTP Basic Authentication.\n\n**REDIS_HOST**\n\n\u003e Redis host to connect to, assuming orkid-node is connected to the same redis server.\n\n\u003e **Important! Redis server version must be \u003e= 5 because we need streams support.**\n\n**REDIS_PORT**\n\n\u003e Redis port to connect to. Default 6379.\n\n---\n\n## Development\n\n### 1. Start redis-server locally\n\n### 2. Start Orkid API Server\n\nStart `orkid-api` as described here: https://github.com/mugli/orkid-api#development\n\n### 3. Start Orkid UI in dev mode\n\n```sh\nnpm run dev\n```\n\n---\n\n## Maintainer(s)\n\n- Mehdi Hasan Khan (Twitter: [@MehdiHK](https://twitter.com/MehdiHK))\n\n---\n\n## License\n\nMIT\n\n---\n\n### Related Projects\n\n- [orkid-node](https://github.com/mugli/orkid-node): Reliable and modern Redis based task queue for Node.js. Use this to produce and consume jobs.\n- [orkid-api](https://github.com/mugli/orkid-api): GraphQL API to monitor and manage Orkid task queue (used internally by orkid-ui).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmugli%2Forkid-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmugli%2Forkid-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmugli%2Forkid-ui/lists"}