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