{"id":17526687,"url":"https://github.com/doctorfree/kasm-registry","last_synced_at":"2025-03-06T06:30:42.553Z","repository":{"id":202969973,"uuid":"708520227","full_name":"doctorfree/kasm-registry","owner":"doctorfree","description":"Workspace registry for Kasm","archived":false,"fork":false,"pushed_at":"2024-03-03T21:48:33.000Z","size":5565,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"1.0","last_synced_at":"2024-05-02T01:02:38.572Z","etag":null,"topics":["kasm","kasm-workspaces","registry","workspaces"],"latest_commit_sha":null,"homepage":"https://doctorfree.github.io/kasm-registry/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/doctorfree.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2023-10-22T19:48:20.000Z","updated_at":"2024-04-30T21:58:15.000Z","dependencies_parsed_at":"2024-03-03T22:45:30.685Z","dependency_job_id":null,"html_url":"https://github.com/doctorfree/kasm-registry","commit_stats":null,"previous_names":["doctorfree/kasm-registry"],"tags_count":1,"template":false,"template_full_name":"kasmtech/workspaces_registry_template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doctorfree%2Fkasm-registry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doctorfree%2Fkasm-registry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doctorfree%2Fkasm-registry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doctorfree%2Fkasm-registry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/doctorfree","download_url":"https://codeload.github.com/doctorfree/kasm-registry/tar.gz/refs/heads/1.0","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242161281,"owners_count":20081842,"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":["kasm","kasm-workspaces","registry","workspaces"],"created_at":"2024-10-20T15:02:12.554Z","updated_at":"2025-03-06T06:30:42.517Z","avatar_url":"https://github.com/doctorfree.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003cimg width=\"240\" src=\"https://raw.githubusercontent.com/wiki/doctorfree/kasm-registry/logo.png\"\u003e\n  \u003cbr\u003e\n  Record Technologies Workspace Registry\n  \u003cbr\u003e\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003eThis repository is home to the Record Technologies Kasm Workspaces registry. A front end website is automatically generated for the registry looking similar to:\u003c/p\u003e\n\n![registry](https://raw.githubusercontent.com/wiki/doctorfree/kasm-registry/registry.png)\n\n## Contents\n\n- [Record Technologies Workspaces](#record-technologies-workspaces)\n  - [Workspace features](#workspace-features)\n  - [Workspace deployment](#workspace-deployment)\n  - [Docker deployment](#docker-deployment)\n- [Repository template](#repository-template)\n- [Schema](#schema)\n- [Discovery](#discovery)\n\n## Record Technologies Workspaces\n\nThis registry primarily serves as the distribution mechanism for Kasm workspaces\ngenerated from [Doctorfree Open Source Projects](https://github.com/doctorfree).\n\nCurrently available workspaces in this registry include:\n\n* `AppImage`: Customized Ubuntu 22.04 desktop with [AppImage Launcher](https://github.com/TheAssassin/AppImageLauncher)\n* [Asciiville](https://github.com/doctorfree/Asciiville#readme): Ascii art, utilities, games, more\n* [Ascii Games](https://github.com/doctorfree/asciigames#readme): Collection of Ascii games\n* `CloudStorage`: Utilizes [rclone](https://github.com/rclone/rclone), a command-line program to manage files on cloud storage\n* `Deluxe`: Asciiville, Neovim, Spiderfoot, Wing and more all in one workspace\n* [Kitty](https://sw.kovidgoyal.net/kitty): Terminal session with customized Kitty terminal emulator\n* [LM Studio](https://github.com/lmstudio-ai): Discover, download, and run LLM's with `LM Studio`\n* [Neovim](https://github.com/doctorfree/nvim-lazyman#readme): Neovim, neovide, lazyman, much more\n* [Open-Source Intelligence](https://en.wikipedia.org/wiki/Open-source_intelligence): Reconnaissance tools to query public data sources and gather intelligence\n* [Project Jupyter](https://en.wikipedia.org/wiki/Project_Jupyter): Jupyter notebooks\n* [Ubuntu desktops](https://en.wikipedia.org/wiki/Ubuntu): Customized Ubuntu Focal and Jammy desktops\n* [Visual Studio Code](https://code.visualstudio.com): Code editor with support for development operations\n* [Wing cloud programming language](https://www.winglang.io): Wing programming language, examples, and editors\n* `WingPlus`: The Wing workspace with the Neovim hyper-extensible text editor\n* More to come ...\n\n### Workspace features\n\nRecord Technologies workspaces all include customized desktops with several\nadditional productivity and development packages preconfigured for ease of use.\nFor example, the Wing workspaces include Visual Studio Code with the Wing\nextension; the Neovim workspaces include Neovide and Lazyman - the Neovim\nConfiguration Manager, several workspaces include the\n[Ranger File Manager](https://github.com/ranger/ranger)\nwith customized launch configurations and the\n[Btop++ system monitor](https://github.com/aristocratos/btop)\nwith customized configuration and theme.\n\nIn most Record Technologies workspaces the\n[Kitty terminal emulator](https://sw.kovidgoyal.net/kitty)\nis installed along with the `JetBrains Mono`\n[Nerd Font](https://github.com/ryanoasis/nerd-fonts).\nKitty is preconfigured and Kitty sessions are tailored for each\nuse case.\n\nWhere appropriate Record Technologies workspaces perform a `postinstall`\nwhich installs and configures many additional utilities in the Kasm user's\nhome directory. When used in conjunction with Kasm persistent profiles\nthis feature enables a rich persistent user runtime environment across\nworkspace sessions.\n\n### Workspace deployment\n\nAll Record Technologies workspaces are designed for deployment using\n[Kasm Workspaces](https://kasmweb.com). The Docker images can be deployed\ndirectly with Docker but they will not provide persistent user profiles\nand thus will not be as usable, requiring initialization on every start.\nThe use of Kasm Workspaces for deployment is strongly encouraged.\n\nTo deploy using Kasm Workspaces, add the Record Technologies registry to\nyour Kasm deployment by visiting the\n[Record Technologies workspace registry](https://doctorfree.github.io/kasm-registry)\nand clicking on the `Workspace Registry Link`. This will copy\n`https://doctorfree.github.io/kasm-registry/` to your clipboard.\n\nOnce you have the Workspace Registry Link for Record Technologies, in Kasm\nas an administrator click on `Workspaces` -\u003e `Registry` -\u003e `Registries`.\nClick `Add new` and enter the Record Technologies registry link copied above.\nClick `ADD REGISTRY` and you should now see the Record Technologies workspaces\nin Kasm.\n\nAfter adding a 3rd party workspace registry to Kasm, clicking on `Workspaces` -\u003e\n`Registry` should now show the new registry under `Available Workspaces`.\nClicking on `Record Technologies` will filter the available workspaces and\ndisplay only those workspaces available from Record Technologies.\n\nClick on any of the Record Technologies workspaces and then click `Install`\nto install that workspace. Once installed go to `Workspaces` -\u003e `Workspaces`\nand click the right arrow button on the right hand side of the newly installed\nworkspace then click the pencil icon to edit the workspace. Adjust any of\nthe settings you like but most importantly scroll down to the\n`Persistent Profile Path` and add a path to save changes users make to their\nworkspace. I use the following setting for a persistent profile:\n\n```\n/u/kasm_profiles/{image_id}/{user_id}\n```\n\nWhere the `/u/kasm_profiles/` folder has been created on the Kasm host. Note that\nthis folder can grow quite large depending on how many workspaces are configured\nto use it and how many users are active. I place this folder along with any\nvolume mappings and the Docker library folders on a large second drive using XFS.\n\n### Docker deployment\n\nThese images are designed for use as streaming containers in `Kasm`. However,\nthey can be run using `docker`. For example, to run the `Wing` workspace:\n\n```bash\n# Pull the image from Docker Hub\ndocker pull doctorwhen/kasm:wing\n```\n\n```bash\nmyip=`ip addr show | awk '$1 == \"inet\" \u0026\u0026 $3 == \"brd\" { sub (/\\/.*/,\"\"); print $2 }' | head -1`\n\nprintf \"\\n\\nThe Wing container is now accessible via a browser : https://${myip}:6901\"\nprintf \"\\n\\tUser : kasm_user\"\nprintf \"\\n\\tPassword: password\\n\"\n\ndocker run --rm  -it --shm-size=512m -p 3000:3000 -p 6901:6901 -e VNC_PW=password doctorwhen/kasm:wing\n```\n\n**NOTE:** Several of the Record Technologies Kasm workspaces perform extensive\npost-installation configuration. For this reason they are not well suited for\nuse with `docker run ...` since each time they are run in this manner they will\nperform the time consuming initialization. The recommended use for these images\nis as Kasm Workspaces streamed containers with a persistent profile configured.\n\n## Repository template\n\nThis repository was created from the registry repository template at\n[https://github.com/kasmtech/workspaces_registry_template](https://github.com/kasmtech/workspaces_registry_template).\n\n## Schema\n\n**Version** 1.0\n\n| Property              | Required | Type | Description |\n| --------------------- | -------- | --- | --- |\n| friendly_name         | True     | String | The name to show                                                                                     |\n| name                  | True     | String | The docker image to use                                                                              |\n| description           | True     | String | A short description of the workspace                                                                 |\n| image_src             | True     | String | The name of the workspace icon used                                                                  |\n| architecture          | True     | Array | Json list containing either \"amd64\", \"arm64\" or both                                                 |\n| compatability         | True     | Array | A list of Kasm versions the workspace should work with                                               |\n| uncompressed_size_mb  | True     | Integer | Integer of the approximate size of the workspace when it's uncompressed in MB. This doesn't take into account layers.  For example if an image is 2.46GB you would enter 2460 |\n| categories            | False    | Array | Json list containing the categories the workspace belongs too. This should be limited to a max of 3. |\n| docker_registry       | False    | String | Which docker registry to use                                                                         |\n| run_config            | False    | Object | Any additional parameters to add to the run config                                                   |\n| exec_config           | False    | Object | Any additional parameters to add to the exec config                                                  |\n| notes                 | False    | String | Notes about running the workspace, such as if it requires libseccomp.                                |\n| cores                 | False    | Integer | Specify the amount of cores to use for this workspace                                                |\n| memory                | False    | Integer | Specify the amount of memory to use for this workspace                                               |\n| gpu_count             | False    | Integer | Specify the amount of GPUs to use for this workspace                                                 |\n| cpu_allocation_method | False    | String | What CPU allocation method to use for this workspace. Can be either \"Inherit\", \"Quotas\" or \"Shares\"  |\n\nHead to the **Actions** tab to check your progress and once `Page build and deployment` is complete, your site should be ready.\n\n### New schema version\n\nWhen a new schema version comes out, you just need to create a new branch that refrlects the new schema, for example `1.1` and make it the default branch.\n\nIn the new branch, make any updates that are needed, when the changes are committed a new version will be built.\n\nKasm Workspaces will automatically pull the version of the schema that it understands.\n\n\u0026nbsp;\n\n## Discovery\n\nThe tag below will hopefully make it easier for people to find your Workspace Registry by clicking on [this github search link](https://github.com/search?q=in%3Areadme+sort%3Aupdated+-user%3Akasmtech+%22KASM-REGISTRY-DISCOVERY-IDENTIFIER%22\u0026type=repositories). If you want to make it harder to find your repository for some reason, just remove this section.\n\nIf you are the one doing the searching, click on the **site** folder, then click on **next.config.js** and the url can be found under **env.listUrl**\n\n![search-600](https://user-images.githubusercontent.com/5698566/230614274-2976b4d7-074f-4e6d-9e58-e4d2512a3d2a.gif)\n\nKASM-REGISTRY-DISCOVERY-IDENTIFIER\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoctorfree%2Fkasm-registry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdoctorfree%2Fkasm-registry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoctorfree%2Fkasm-registry/lists"}