{"id":50836886,"url":"https://github.com/dovatgabriel/cibox","last_synced_at":"2026-06-14T04:05:00.671Z","repository":{"id":360965149,"uuid":"1252497118","full_name":"dovatgabriel/cibox","owner":"dovatgabriel","description":"🐳 Portable GitLab Runner in Docker — Run your CI/CD anywhere, hassle-free.","archived":false,"fork":false,"pushed_at":"2026-05-28T15:34:32.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-28T17:15:46.802Z","etag":null,"topics":["cicd","docker","docker-compose","gitlab"],"latest_commit_sha":null,"homepage":"","language":"Makefile","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/dovatgabriel.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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-28T15:21:57.000Z","updated_at":"2026-05-28T15:37:37.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dovatgabriel/cibox","commit_stats":null,"previous_names":["dovatgabriel/cibox"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/dovatgabriel/cibox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dovatgabriel%2Fcibox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dovatgabriel%2Fcibox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dovatgabriel%2Fcibox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dovatgabriel%2Fcibox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dovatgabriel","download_url":"https://codeload.github.com/dovatgabriel/cibox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dovatgabriel%2Fcibox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34308660,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-14T02:00:07.365Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cicd","docker","docker-compose","gitlab"],"created_at":"2026-06-14T04:04:56.635Z","updated_at":"2026-06-14T04:05:00.651Z","avatar_url":"https://github.com/dovatgabriel.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CIBox\n\n🐳 Portable GitLab Runner in Docker — Run your CI/CD anywhere, hassle-free.\n\n## What is it?\n\nCIBox is a minimal setup to run a **GitLab Runner in Docker**. Perfect for:\n\n- Running your CI/CD on your local machine (Mac, Linux)\n- Running CI on a Raspberry Pi or personal server\n- Testing your pipeline before merging\n- **Building Docker images** (Docker builds work out of the box!)\n- No complex system dependencies\n\n## Prerequisites\n\n- Docker \u0026 Docker Compose installed\n- A GitLab runner registration token\n\n## Quick setup\n\n### 1. Clone the repo\n\n```bash\ngit clone https://github.com/gabrieldovat/cibox.git\ncd cibox\n```\n\n### 2. Configure variables\n\n```bash\ncp .env.example .env\n```\n\nEdit `.env` and fill in:\n\n- `GITLAB_URL`: Your GitLab instance URL (default: https://gitlab.com/)\n- `REGISTRATION_TOKEN`: Token from **Settings \u003e CI/CD \u003e Runners** in your project\n\n### 3. Start the runner\n\n```bash\ndocker-compose up -d\n```\n\nThat's it! The runner will register itself and wait for jobs. ✅\n\n## Useful commands\n\n```bash\n# Start\ndocker-compose up -d\n\n# Stop\ndocker-compose down\n\n# Logs in real-time\ndocker-compose logs -f\n\n# Restart\ndocker-compose restart\n\n# Check runner status\ndocker-compose exec gitlab-runner gitlab-runner status\n```\n\n## Configure your .gitlab-ci.yml\n\nTo use this runner, add the tag to your pipeline:\n\n```yaml\nmy_job:\n  script:\n    - echo \"Running on CIBox!\"\n  tags:\n    - cibox # Or the tag you configured\n```\n\n## Environment variables\n\n| Variable             | Default               | Description             |\n| -------------------- | --------------------- | ----------------------- |\n| `GITLAB_URL`         | `https://gitlab.com/` | GitLab instance URL     |\n| `REGISTRATION_TOKEN` | -                     | Runner token (required) |\n| `RUNNER_DESCRIPTION` | `CIBox Runner`        | Runner name in GitLab   |\n| `RUNNER_TAG_LIST`    | `docker,cibox`        | Tags (comma-separated)  |\n| `RUNNER_EXECUTOR`    | `docker`              | Executor type           |\n| `DOCKER_IMAGE`       | `node:18-bullseye`    | Default Docker image    |\n\n## On Raspberry Pi\n\n```bash\n# Install Docker on Raspberry Pi (Bullseye/Bookworm)\ncurl -fsSL https://get.docker.com -o get-docker.sh\nsh get-docker.sh\n\n# Then clone and run normally\ngit clone https://github.com/gabrieldovat/cibox.git\ncd cibox\ncp .env.example .env\n# ... configure your token ...\ndocker-compose up -d\n```\n\n## Troubleshooting\n\n### Runner doesn't register\n\n```bash\ndocker-compose logs\n```\n\nCheck that `REGISTRATION_TOKEN` is correct in `.env`.\n\n### Jobs don't run\n\n- Verify the tag in `.gitlab-ci.yml` matches `RUNNER_TAG_LIST` in `.env`\n- Check logs: `docker-compose logs -f`\n\n### Docker socket not accessible\n\nIf you get a `/var/run/docker.sock` error, make sure Docker is running and you have permissions.\n\n```bash\n# On Mac with Docker Desktop, it's automatic\n# On Linux, check: sudo usermod -aG docker $USER\n```\n\n## Architecture\n\n```\ncibox/\n├── docker-compose.yml    # Docker configuration\n├── .env                  # Variables (create from .env.example)\n├── config/               # GitLab Runner config (generated)\n├── cache/                # Job cache (generated)\n└── README.md\n```\n\n## Building Docker Images\n\nCIBox supports Docker image builds out of the box! The runner automatically has access to the Docker daemon on your host machine.\n\nExample `.gitlab-ci.yml`:\n\n```yaml\nbuild_docker_image:\n  stage: build\n  image: docker:27\n  script:\n    - docker build -t myapp:latest .\n    - docker push myregistry.com/myapp:latest\n  tags:\n    - cibox\n```\n\nThe Docker socket is automatically bind-mounted, so your build jobs can access the host's Docker daemon.\n\n## Notes\n\n- Config and cache are persisted in `config/` and `cache/` directories\n- Runner restarts automatically when you restart the container\n- `.env` and `config/`/`cache/` are excluded from versioning (`.gitignore` handles this)\n\n## License\n\nMIT\n\n---\n\nMade with ❤️ for faster CI/CD\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdovatgabriel%2Fcibox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdovatgabriel%2Fcibox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdovatgabriel%2Fcibox/lists"}