39 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| # Ultralytics YOLO 🚀, AGPL-3.0 license
 | |
| # Builds GitHub actions CI runner image for deployment to DockerHub https://hub.docker.com/r/ultralytics/ultralytics
 | |
| # Image is CUDA-optimized for YOLOv8 single/multi-GPU training and inference tests
 | |
| 
 | |
| # Start FROM Ultralytics GPU image
 | |
| FROM ultralytics/ultralytics:latest
 | |
| 
 | |
| # Set the working directory
 | |
| WORKDIR /actions-runner
 | |
| 
 | |
| # Download and unpack the latest runner from https://github.com/actions/runner
 | |
| RUN FILENAME=actions-runner-linux-x64-2.309.0.tar.gz && \
 | |
|     curl -o $FILENAME -L https://github.com/actions/runner/releases/download/v2.309.0/$FILENAME && \
 | |
|     tar xzf $FILENAME && \
 | |
|     rm $FILENAME
 | |
| 
 | |
| # Install runner dependencies
 | |
| ENV RUNNER_ALLOW_RUNASROOT=1
 | |
| ENV DEBIAN_FRONTEND=noninteractive
 | |
| RUN ./bin/installdependencies.sh && \
 | |
|     apt-get -y install libicu-dev
 | |
| 
 | |
| # Inline ENTRYPOINT command to configure and start runner with default TOKEN and NAME
 | |
| ENTRYPOINT sh -c './config.sh --url https://github.com/ultralytics/ultralytics \
 | |
|                               --token ${GITHUB_RUNNER_TOKEN:-TOKEN} \
 | |
|                               --name ${GITHUB_RUNNER_NAME:-NAME} \
 | |
|                               --labels gpu-latest \
 | |
|                               --replace && \
 | |
|                   ./run.sh'
 | |
| 
 | |
| 
 | |
| # Usage Examples -------------------------------------------------------------------------------------------------------
 | |
| 
 | |
| # Build and Push
 | |
| # t=ultralytics/ultralytics:latest-runner && sudo docker build -f docker/Dockerfile-runner -t $t . && sudo docker push $t
 | |
| 
 | |
| # Pull and Run in detached mode with access to GPUs 0 and 1
 | |
| # t=ultralytics/ultralytics:latest-runner && sudo docker run -d -e GITHUB_RUNNER_TOKEN=TOKEN -e GITHUB_RUNNER_NAME=NAME --ipc=host --gpus '"device=0,1"' $t
 |