{"id":14966991,"url":"https://github.com/golemfactory/ya-runtime-vm","last_synced_at":"2025-10-19T09:31:24.927Z","repository":{"id":40387557,"uuid":"268474893","full_name":"golemfactory/ya-runtime-vm","owner":"golemfactory","description":"Docker-like runtime enviroment implementation for Golem","archived":false,"fork":false,"pushed_at":"2024-09-30T12:55:13.000Z","size":26017,"stargazers_count":12,"open_issues_count":14,"forks_count":15,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-10-01T01:57:00.360Z","etag":null,"topics":["golem","ya-runtime"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/golemfactory.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":"2020-06-01T09:09:43.000Z","updated_at":"2024-09-18T05:14:45.000Z","dependencies_parsed_at":"2023-12-10T02:21:04.109Z","dependency_job_id":"c234ca75-07b9-4a27-b7e8-a6b15d280274","html_url":"https://github.com/golemfactory/ya-runtime-vm","commit_stats":{"total_commits":171,"total_committers":17,"mean_commits":"10.058823529411764","dds":0.7777777777777778,"last_synced_commit":"5637d566acadf5993cfb034eca9b8d156f3a3a33"},"previous_names":[],"tags_count":75,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemfactory%2Fya-runtime-vm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemfactory%2Fya-runtime-vm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemfactory%2Fya-runtime-vm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemfactory%2Fya-runtime-vm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/golemfactory","download_url":"https://codeload.github.com/golemfactory/ya-runtime-vm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219869245,"owners_count":16555571,"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":["golem","ya-runtime"],"created_at":"2024-09-24T13:37:15.988Z","updated_at":"2025-10-19T09:31:24.604Z","avatar_url":"https://github.com/golemfactory.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ya-runtime-vm\n\n`ya-runtime-vm` is an implementation of a Docker-like runtime environment for Linux systems. \n\nThis repository consists of 2 crates:\n\n- `ya-runtime-vm`\n\n   An application for running Virtual Machine images pre-built for yagna.\n\n- `gvmkit`\n\n   A tool for converting Docker images into yagna Virtual Machine images and uploading them to a public repository.\n   Requires for [Docker](https://docs.docker.com/engine/install/ubuntu/) to be installed on your system.\n\n## Building\n\nPrerequisites:\n\n- `rustc`\n  \n    Recommendation: use the Rust toolchain installer from [https://rustup.rs/](https://rustup.rs/)\n\n- `musl-gcc` and `gperf`\n\n    On a Ubuntu system, execute in terminal:\n\n    ```bash\n       sudo apt install musl musl-tools gperf\n    ```\n\nGit checkout:\n\nInit `runtime/init-container/liburing` submodule.\n\n```bash\ngit submodule init\ngit submodule update\n```\n\nBuilding:\n\n```bash\ncd runtime\ncargo build\n```\n\n## Installing\n\nPrerequisites:\n\n- `cargo-deb`\n\n    Cargo helper command which automatically creates binary Debian packages. With Rust already installed, execute in terminal:\n\n    ```bash\n    cargo install cargo-deb\n    ```\n\nInstallation:\n\nIn terminal, change the working directory to `runtime` and install a freshly minted Debian package.\n\n```bash\ncd runtime\nsudo dpkg -i $(cargo deb | tail -n1)\n```\n\nThis will install the binary at `/usr/lib/yagna/plugins/ya-runtime-vm/ya-runtime-vm`.\n\n\n## Command line\n\nFollow the installation section before executing.\n\n```\nya-runtime-vm 0.2.5\n\nUSAGE:\n    ya-runtime-vm [OPTIONS] \u003cSUBCOMMAND\u003e\n\nFLAGS:\n    -h, --help       Prints help information\n    -V, --version    Prints version information\n\nOPTIONS:\n    -w, --workdir \u003cworkdir\u003e              \n    -t, --task-package \u003ctask-package\u003e    \n        --cpu-cores \u003ccpu-cores\u003e           [default: 1]\n        --mem-gib \u003cmem-gib\u003e               [default: 0.25]\n        --storage-gib \u003cstorage-gib\u003e       [default: 0.25]\n\nSUBCOMMANDS:\n    test              Perform a self-test\n    offer-template    Print the market offer template (JSON)\n    deploy            Deploy an image\n    start             Start a deployed image\n    help              Prints this message or the help of the given subcommand(s)\n```\n\n## Caveats\n\n- Docker `VOLUME` command\n\n    Directories specified in the `VOLUME` command are a mountpoint for directories on the host filesystem. Contents\n    of those directories will appear as empty during execution.\n    \n    If you need to place static assets inside the image, try not to use the `VOLUME` command for that directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgolemfactory%2Fya-runtime-vm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgolemfactory%2Fya-runtime-vm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgolemfactory%2Fya-runtime-vm/lists"}