/
MrDexstor
/
v2rayDX
Обзор
Документация
Войти
/
MrDexstor
/
v2rayDX
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
1
CI/CD
Аналитика
Безопасность
master
scripts/runner/setup.sh
99 строк
2 KB
Сороковых Дмитрий Викторович
Release v8.0.2: self-hosted runner, wiki API fix, upstream sync tooling
11 июл 2026, 15:49
11 июл 2026, 15:49
d46e9ae
Код
Авторство
О чём код?
#!/usr/bin/env bash # Install and start GitVerse self-hosted runner for v2rayDX. # # Usage: # cp .env.example .env # set RUNNER_REGISTRATION_TOKEN # ./setup.sh docker # recommended # ./setup.sh native /path/to/act_runner set -euo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$ROOT" die() { echo "error: $*" >&2 exit 1 } load_env() { if [[ -f .env ]]; then # shellcheck disable=SC1091 set -a source .env set +a fi [[ -n "${RUNNER_REGISTRATION_TOKEN:-}" ]] || die "Set RUNNER_REGISTRATION_TOKEN in .env" } setup_docker() { load_env command -v docker >/dev/null || die "docker is required" docker compose version >/dev/null 2>&1 || die "docker compose plugin is required" if [[ ! -f config.yaml ]]; then cp config.yaml.example config.yaml echo "Created config.yaml from example" fi mkdir -p data echo "Starting runner container (${RUNNER_NAME:-v2raydx-linux})..." docker compose up -d echo echo "Runner started. Check status:" echo " docker compose -f $ROOT/docker-compose.yml logs -f" echo " GitVerse → Settings → Runners → should show 'Idle'" } setup_native() { local binary="${1:-}" load_env [[ -n "$binary" && -f "$binary" ]] || die "usage: $0 native /path/to/act_runner" install -d -m 755 "$ROOT/native" install -m 755 "$binary" "$ROOT/native/act_runner" if [[ ! -f "$ROOT/native/config.yaml" ]]; then cp config.yaml.example "$ROOT/native/config.yaml" fi cd "$ROOT/native" if [[ ! -f .runner ]]; then ./act_runner register \ --no-interactive \ --config config.yaml \ --instance "${GITVERSE_INSTANCE:-https://gitverse.ru/sc}" \ --token "$RUNNER_REGISTRATION_TOKEN" \ --name "${RUNNER_NAME:-v2raydx-linux}" \ --labels "v2raydx-linux:host,linux:host,x64:host,self-hosted:host,img-ubuntu-latest:gitverse:gitverse/runner-image:ubuntu-latest" echo "Runner registered" else echo "Runner already registered (.runner exists), skipping register" fi echo "Start manually: cd $ROOT/native && ./act_runner daemon --config config.yaml" echo "Or install systemd unit from act-runner-native.service" } usage() { cat <<EOF Usage: $0 docker $0 native /path/to/act_runner Prepare .env from .env.example first (RUNNER_REGISTRATION_TOKEN). EOF } main() { local mode="${1:-}" case "$mode" in docker) setup_docker ;; native) setup_native "${2:-}" ;; -h|--help|help|"") usage ;; *) die "unknown mode: $mode" ;; esac } main "$@"