gitea/peertube runner foundations. secrets mgmt is a blocker. Adding that to my shell framework and will vendor that framework into here.
This commit is contained in:
		
							
								
								
									
										1
									
								
								inprep/gitea-runner/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								inprep/gitea-runner/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					https://docs.gitea.com/next/usage/actions/act-runner/
 | 
				
			||||||
							
								
								
									
										14
									
								
								inprep/gitea-runner/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								inprep/gitea-runner/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					version: "3.8"
 | 
				
			||||||
 | 
					services:
 | 
				
			||||||
 | 
					  runner:
 | 
				
			||||||
 | 
					    image: docker.io/gitea/act_runner:nightly
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      CONFIG_FILE: /config.yaml
 | 
				
			||||||
 | 
					      GITEA_INSTANCE_URL: "${INSTANCE_URL}"
 | 
				
			||||||
 | 
					      GITEA_RUNNER_REGISTRATION_TOKEN: "${REGISTRATION_TOKEN}"
 | 
				
			||||||
 | 
					      GITEA_RUNNER_NAME: "${RUNNER_NAME}"
 | 
				
			||||||
 | 
					      GITEA_RUNNER_LABELS: "${RUNNER_LABELS}"
 | 
				
			||||||
 | 
					    volumes:
 | 
				
			||||||
 | 
					      - ./config.yaml:/config.yaml
 | 
				
			||||||
 | 
					      - ./data:/data
 | 
				
			||||||
 | 
					      - /var/run/docker.sock:/var/run/docker.sock
 | 
				
			||||||
							
								
								
									
										9
									
								
								inprep/peertube-runner/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								inprep/peertube-runner/Dockerfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					FROM alpine:latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN apk add --no-cache nodejs npm ffmpeg
 | 
				
			||||||
 | 
					RUN npm install -g @peertube/peertube-runner
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY entrypoint.sh /entrypoint.sh
 | 
				
			||||||
 | 
					RUN chmod +x /entrypoint.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRYPOINT ["/entrypoint.sh"]
 | 
				
			||||||
							
								
								
									
										21
									
								
								inprep/peertube-runner/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								inprep/peertube-runner/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					# PeerTube Runner Docker 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This Docker image sets up a PeerTube runner with all necessary dependencies installed.  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					When stopping the container, the runner is removed from the peertube instance.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Name is set to the container ID when run standalone, and the node name when run in a swarm .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Usage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. **Environment Variables**:
 | 
				
			||||||
 | 
					   - `URL`: PeerTube instance URL.
 | 
				
			||||||
 | 
					   - `TOKEN`: Registration token.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2. **Run the Container**:
 | 
				
			||||||
 | 
					   ```bash
 | 
				
			||||||
 | 
					   docker run -e URL=http://127.0.0.1:9000 -e TOKEN=ptrrt-**** peertube-runner
 | 
				
			||||||
 | 
					   ```
 | 
				
			||||||
 | 
					## Note
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This container is meant to be a basic runner, so there is no encryption or captioning
 | 
				
			||||||
							
								
								
									
										20
									
								
								inprep/peertube-runner/entrypoint.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								inprep/peertube-runner/entrypoint.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -n "$DOCKER_SERVICE_NAME" ]; then
 | 
				
			||||||
 | 
						NAME="$NODE_NAME"
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
						NAME=$(uname -n)
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cleanup() {
 | 
				
			||||||
 | 
						echo "Container is stopping, removing runner '$NAME'..."
 | 
				
			||||||
 | 
						peertube-runner unregister --url $URL --runner-name $NAME
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					trap cleanup SIGTERM
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "Starting runner $NAME"...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					peertube-runner server & sleep 5 && \
 | 
				
			||||||
 | 
					peertube-runner register --url $URL --registration-token $TOKEN --runner-name $NAME && \
 | 
				
			||||||
 | 
					wait
 | 
				
			||||||
		Reference in New Issue
	
	Block a user