{"id":15655247,"url":"https://github.com/hectorm/docker-qemu-haiku","last_synced_at":"2025-08-03T19:17:56.610Z","repository":{"id":34288443,"uuid":"171363780","full_name":"hectorm/docker-qemu-haiku","owner":"hectorm","description":"A Docker image for the Haiku operating system.","archived":false,"fork":false,"pushed_at":"2024-10-15T21:35:21.000Z","size":116,"stargazers_count":26,"open_issues_count":1,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-17T08:51:25.244Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/hectorm/qemu-haiku","language":"Shell","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/hectorm.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}},"created_at":"2019-02-18T22:12:44.000Z","updated_at":"2024-10-15T21:35:24.000Z","dependencies_parsed_at":"2024-01-22T20:00:06.740Z","dependency_job_id":"a710ce9e-1ed9-436c-8b23-8b02d280626d","html_url":"https://github.com/hectorm/docker-qemu-haiku","commit_stats":null,"previous_names":[],"tags_count":59,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hectorm%2Fdocker-qemu-haiku","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hectorm%2Fdocker-qemu-haiku/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hectorm%2Fdocker-qemu-haiku/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hectorm%2Fdocker-qemu-haiku/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hectorm","download_url":"https://codeload.github.com/hectorm/docker-qemu-haiku/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222560935,"owners_count":17003204,"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":[],"created_at":"2024-10-03T12:57:22.315Z","updated_at":"2024-11-01T11:04:38.010Z","avatar_url":"https://github.com/hectorm.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Haiku on Docker\n\nA Docker image for the [Haiku](https://www.haiku-os.org) operating system.\n\n## Start an instance\n```sh\ndocker run --detach \\\n  --name qemu-haiku \\\n  --device /dev/kvm \\\n  --publish 127.0.0.1:2222:2222/tcp \\\n  --publish 127.0.0.1:5900:5900/tcp \\\n  --publish 127.0.0.1:6080:6080/tcp \\\n  --mount type=volume,src=qemu-haiku-disk,dst=/var/lib/qemu/disk/ \\\n  --env VM_SSH_KEYS=\"$(find ~/.ssh/ -name 'id_*.pub' -exec awk 1 '{}' ';')\" \\\n  docker.io/hectorm/qemu-haiku:latest\n```\n\n\u003e [!NOTE]\n\u003e The `--device /dev/kvm` option can only be used on Linux hosts, it can be removed on Windows and macOS hosts at a significant performance penalty.\n\nThe instance can be accessed from:\n * **SSH** (`2222/TCP`), user `user`, public key authentication.\n * **VNC** (`5900/TCP`), without password.\n * **noVNC** (`6080/TCP`), http://127.0.0.1:6080/vnc.html\n * `docker exec -it qemu-haiku vmshell`\n\n## Environment variables\n#### `VM_CPU`\nNumber of cores the VM is permitted to use (`2` by default).\n\n#### `VM_RAM`\nAmount of memory the VM is permitted to use (`2048M` by default).\n\n#### `VM_KEYBOARD`\nVM keyboard layout (`en-us` by default).\n\n#### `VM_KVM`\nStart QEMU in KVM mode (`true` by default).\n\u003e The `--device /dev/kvm` option is required for this variable to take effect.\n\n#### `VM_SSH_KEY*`\nSSH keys to be added to the VM at startup.\n\n## Use in CI\n\n### GitHub Actions:\n\n```yaml\ntest-haiku:\n  name: 'Test on Haiku'\n  runs-on: 'ubuntu-latest'\n  container: 'docker.io/hectorm/qemu-haiku:latest'\n  steps:\n    - name: 'Wait until the VM is ready'\n      run: 'container-init \u0026 timeout 600 vmshell exit 0'\n    - name: 'Install packages'\n      run: 'vmshell pkgman install -y make'\n    - name: 'Checkout project'\n      uses: 'actions/checkout@main'\n    - name: 'Copy project to VM'\n      run: 'vmshell mkdir ./src/; tar -cf - ./ | vmshell tar -xf - -C ./src/'\n    - name: 'Test project'\n      run: 'vmshell make -C ./src/ test'\n```\n\n### GitLab CI:\n\n```yaml\ntest-haiku:\n  stage: 'test'\n  image:\n    name: 'docker.io/hectorm/qemu-haiku:latest'\n    entrypoint: ['']\n  before_script:\n    - 'container-init \u0026 timeout 600 vmshell exit 0'\n    - 'vmshell pkgman install -y make'\n    - 'vmshell mkdir ./src/; tar -cf - ./ | vmshell tar -xf - -C ./src/'\n  script:\n    - 'vmshell make -C ./src/ test'\n```\n\n\u003e Please note that at the time of writing GitHub and GitLab hosted runners do not support nested virtualization, so a high performance loss is expected. Consider using this image in an CI environment as a proof of concept.\n\n\u003e Sometimes after installing packages a reboot may be necessary, `pkgman` will print a message like \"`A reboot is necessary to complete the installation process`\". In such scenario you can add a step in your CI to reboot and wait until the VM is ready, \"`vmshell sync; sv force-restart qemu ||:; timeout 600 vmshell exit 0`\".\n\n## License\nSee the [license](LICENSE.md) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhectorm%2Fdocker-qemu-haiku","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhectorm%2Fdocker-qemu-haiku","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhectorm%2Fdocker-qemu-haiku/lists"}