{"id":16894316,"url":"https://github.com/nicki-krizek/lxc-gitlab-runner","last_synced_at":"2026-01-04T07:40:27.663Z","repository":{"id":88550775,"uuid":"462782567","full_name":"nicki-krizek/lxc-gitlab-runner","owner":"nicki-krizek","description":"Custom scripts to support LXC as Gitlab Runner (mirror of CZ.NIC GitLab repo).","archived":false,"fork":false,"pushed_at":"2022-02-23T15:01:36.000Z","size":95,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-25T10:41:39.648Z","etag":null,"topics":["gitlab-runner","lxc","oci"],"latest_commit_sha":null,"homepage":"https://gitlab.nic.cz/labs/lxc-gitlab-runner","language":"Dockerfile","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nicki-krizek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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":"2022-02-23T15:00:44.000Z","updated_at":"2024-11-06T15:55:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"13cb5c5f-1ac3-4775-b3f5-0991e5734549","html_url":"https://github.com/nicki-krizek/lxc-gitlab-runner","commit_stats":null,"previous_names":["nicki-krizek/lxc-gitlab-runner"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicki-krizek%2Flxc-gitlab-runner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicki-krizek%2Flxc-gitlab-runner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicki-krizek%2Flxc-gitlab-runner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicki-krizek%2Flxc-gitlab-runner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nicki-krizek","download_url":"https://codeload.github.com/nicki-krizek/lxc-gitlab-runner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244591485,"owners_count":20477710,"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":["gitlab-runner","lxc","oci"],"created_at":"2024-10-13T17:18:19.880Z","updated_at":"2026-01-04T07:40:27.633Z","avatar_url":"https://github.com/nicki-krizek.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LXC GitLab Runner\n\nCustom GitLab Runner that uses LXC to run containers with systemd and nesting\nsupport.\n\nThe intended use-case is to allow testing with systemd features inside CI.\nProject assumes the CI is only used to run trusted code and the host machine is\ndisposable and used only for testing. Security features (apparmor, unprivileged\ncontainers, ...) aren't used in favor of available features and configuration\nsimplicity. Use at your own risk.\n\nPlain LXC (without LXD) is used to run operate the containers. Containers run\nprivileged to support nesting and various systemd features (e.g. network\nnamespaces).\n\n## Why use LXC?\n\n- docker doesn't support systemd\n- podman could work, but isn't available on one of our target platforms (armv7 with OpenWRT)\n- LXC can run OCI container images created by podman/docker, see `images/`\n\n## Available images\n\nThe LXC runner has some dependencies that it expects inside the image. It also\nexpects that the image will run systemd. Pre-configured image templates are\ndefined in `images/` and ready-to-run containers with systemd are available at:\nhttps://gitlab.nic.cz/labs/lxc-gitlab-runner/container_registry\n\nPodman can also be used to run these images directly:\n\n```\n$ podman run -ti registry.nic.cz/labs/lxc-gitlab-runner/debian-10\n(container)# systemctl poweroff -i  # to turn off the container\n```\n\n## Nesting with podman\n\nPodman provides a simple way to run nested containers inside the initialized\nLXC container. However, GitLab Runner sets some environment variables that may\nprevent proper operation. Specifically, the `$TMPDIR` variable should be unset\nto properly allow nesting with podman, otherwise you get following error:\n\n```\nstat /tmp/custom-executor048330180: no such file or directory\nError: Error initializing destination containers-storage:[overlay@/var/lib/containers/storage+/run/containers/storage:overlay.mountopt=nodev,metacopy=on]registry.nic.cz/labs/lxc-gitlab-runner/fedora-34:podman: error creating a temporary directory: stat /tmp/custom-executor048330180: no such file or directory\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicki-krizek%2Flxc-gitlab-runner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnicki-krizek%2Flxc-gitlab-runner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicki-krizek%2Flxc-gitlab-runner/lists"}