Skip to content

This repository contains my setup for containerized and self-hosted github-actions runners. These runners can be deployed on any machine that is able to host docker.

License

Notifications You must be signed in to change notification settings

tensor-works/github-runners-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 GitHub Runners Docker

GitHub Runners Docker

A robust and flexible solution for deploying self-hosted GitHub Action runners using Docker. This project simplifies the process of setting up, managing, and scaling your GitHub Actions infrastructure.

🌟 Features

  • 🐳 Containerized GitHub Action runners
  • 🔄 Easy setup and teardown process
  • 🔢 Scalable architecture supporting multiple runners
  • 🔧 Configurable cache directory for improved performance
  • 🖥️ Cross-platform support (Windows and Unix-like systems)
  • 🛠️ Integrated build and test processes

🏗️ Prerequisites

  • Docker
  • Docker Compose
  • Make
  • PowerShell (for Windows)
  • Bash (for Unix-like systems)

🚀 Quick Start

  1. Clone the repository:

    git clone https://github.com/yourusername/github-runners-docker.git
    cd github-runners-docker
  2. Set up the environment:

    make setup
  3. Build the Docker image:

    make build
  4. Start the runners:

    make up

🛠️ Usage

  • Start runners: make up
  • Stop runners: make down
  • View logs: make logs
  • Clean up: make clean
  • Run tests: make test
  • Test Buildx setup: make test-buildx

🔧 Configuration

The project uses a .env file for configuration. The setup process will guide you through creating this file, including setting the DOCKER_CACHE_DIR for improved performance.

📁 Project Structure

github-runners-docker/
├── .devcontainer/
│   └── devcontainer.json
├── docker/
│   ├── scripts/
│   │   ├── buildx-test.sh
│   │   ├── docker-access-test.sh
│   │   └── start.sh
│   └── Dockerfile.dood
├── etc/
│   ├── enable-docker-tcp.ps1
│   ├── setup-cache-dir.ps1
│   └── setup-cache-dir.sh
├── tests/
│   ├── test_docker/
│   └── test_etc/
│       └── test-enable-docker-tcp.ps1
├── .env
├── .gitignore
├── compose.yml
├── LICENSE
├── Makefile
└── README.md

🤝 Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the issues page.

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgements

  • GitHub Actions team for their excellent documentation
  • Docker community for continuous support and innovations
  • Allessandro Baccini for providing the base template

Made with by Amadou

About

This repository contains my setup for containerized and self-hosted github-actions runners. These runners can be deployed on any machine that is able to host docker.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published