39 lines
1.2 KiB
YAML
39 lines
1.2 KiB
YAML
version: "3.9"
|
|
|
|
services:
|
|
forgejo_runner:
|
|
image: code.forgejo.org/forgejo/runner:7.0.0
|
|
container_name: ${CONTAINER_NAME:-forgejo-runner}
|
|
restart: always
|
|
user: "1000:1000" # 非 root 用户运行容器
|
|
command: >-
|
|
/bin/sh -c '
|
|
cd /data &&
|
|
if [ ! -s .runner ]; then
|
|
echo ">>> Registering runner..."
|
|
forgejo-runner register --no-interactive \
|
|
--instance ${FORGEJO_INSTANCE_URL} \
|
|
--token ${RUNNER_REGISTRATION_TOKEN} \
|
|
--name ${RUNNER_NAME} \
|
|
--labels ${RUNNER_LABELS};
|
|
forgejo-runner generate-config > config.yml
|
|
fi;
|
|
echo ">>> Starting daemon..."
|
|
forgejo-runner --config config.yml daemon
|
|
'
|
|
volumes:
|
|
- ./data:/data
|
|
- /var/run/docker.sock:/var/run/docker-forgejo-runner.sock
|
|
environment:
|
|
- FORGEJO_INSTANCE_URL=${FORGEJO_INSTANCE_URL}
|
|
- RUNNER_REGISTRATION_TOKEN=${RUNNER_REGISTRATION_TOKEN}
|
|
- RUNNER_NAME=${RUNNER_NAME:-default-runner}
|
|
- RUNNER_LABELS=${RUNNER_LABELS:-docker:docker://node:20-bookworm}
|
|
networks:
|
|
- 1panel-network
|
|
labels:
|
|
createdBy: "Apps"
|
|
|
|
networks:
|
|
1panel-network:
|
|
external: true |