commit 4e7a20b424399de44064ee13c98927409896201f Author: y1lm0z Date: Tue Jul 14 11:39:54 2026 +0300 Runtipi store diff --git a/gitea-runner/config.json b/gitea-runner/config.json new file mode 100644 index 0000000..3efa619 --- /dev/null +++ b/gitea-runner/config.json @@ -0,0 +1,41 @@ +{ + "name": "Gitea Runner", + "id": "gitea-runner", + "available": true, + "short_desc": "Kendi Gitea sunucunuz icin Docker tabanli Actions runner", + "author": "self-hosted", + "port": 7443, + "categories": ["development", "utilities"], + "description": "Gitea Actions is akislarini calistiran, docker.sock uzerinden istenen herhangi bir imaji (ubuntu, archlinux, fedora, flutter build image'i vb.) aninda cekebilen self-hosted Docker executor runner. Tek 'docker' etiketiyle kayit olur; hangi image'in kullanilacagini workflow dosyasindaki 'container: image:' alani belirler.", + "tipi_version": 1, + "version": "0.2.11", + "source": "https://gitea.com/gitea/act_runner", + "website": "https://docs.gitea.com/usage/actions/act-runner", + "exposable": false, + "no_gui": true, + "dynamic_config": true, + "form_fields": [ + { + "type": "text", + "label": "Gitea Sunucu Adresi", + "hint": "Gitea instance'inizin tam adresi (https:// dahil)", + "placeholder": "https://gitea.senin-adresin.com", + "required": true, + "env_variable": "GITEA_INSTANCE_URL" + }, + { + "type": "password", + "label": "Runner Registration Token", + "hint": "Gitea > Settings > Actions > Runners > Create new runner sayfasindan alinan tek seferlik token", + "required": true, + "env_variable": "GITEA_RUNNER_REGISTRATION_TOKEN" + }, + { + "type": "text", + "label": "Runner Adi", + "default": "runtipi-docker-runner", + "required": false, + "env_variable": "GITEA_RUNNER_NAME" + } + ] +} diff --git a/gitea-runner/data/config.yaml b/gitea-runner/data/config.yaml new file mode 100644 index 0000000..b3e09be --- /dev/null +++ b/gitea-runner/data/config.yaml @@ -0,0 +1,30 @@ +log: + level: info + +runner: + file: .runner + capacity: 3 + timeout: 3h + insecure: false + fetch_timeout: 5s + fetch_interval: 2s + labels: [] + +cache: + enabled: true + dir: "" + host: "" + port: 0 + external_server: "" + +container: + network: "" + privileged: false + options: "" + workdir_parent: "" + valid_volumes: [] + docker_host: "" + force_pull: true + +host: + workdir_parent: "" diff --git a/gitea-runner/docker-compose.yml b/gitea-runner/docker-compose.yml new file mode 100644 index 0000000..48adb8a --- /dev/null +++ b/gitea-runner/docker-compose.yml @@ -0,0 +1,25 @@ +services: + gitea-runner: + image: gitea/act_runner:latest + environment: + - GITEA_INSTANCE_URL=${GITEA_INSTANCE_URL} + - GITEA_RUNNER_REGISTRATION_TOKEN=${GITEA_RUNNER_REGISTRATION_TOKEN} + - GITEA_RUNNER_NAME=${GITEA_RUNNER_NAME:-runtipi-docker-runner} + # Tek etiket: workflow'lardaki her "container: image:" bu etiket + # uzerinden calisir, ayrica image basina etiket tanimlamaya gerek yok. + - GITEA_RUNNER_LABELS=docker + - CONFIG_FILE=/config.yaml + volumes: + # Runner'in host'un docker daemon'ina erismesi icin sart. + # NOT: bu, container'a host uzerinde fiilen root-esdegeri Docker + # kontrolu verir - guvenlik acisindan bilerek kabul edilen bir risk. + - /var/run/docker.sock:/var/run/docker.sock + # "data/config.yaml" bu app klasorunden ${APP_DATA_DIR}/data/'ya + # Runtipi tarafindan kurulumda otomatik kopyalanir. + - ${APP_DATA_DIR}/data/config.yaml:/config.yaml + # Runner kimlik/is verisi (.runner dosyasi vb.) kalici olsun diye. + - ${APP_DATA_DIR}/runner-state:/data + restart: unless-stopped + +x-runtipi: + schema_version: 2 diff --git a/gitea-runner/metadata/description.md b/gitea-runner/metadata/description.md new file mode 100644 index 0000000..c1a427a --- /dev/null +++ b/gitea-runner/metadata/description.md @@ -0,0 +1,24 @@ +# Gitea Runner + +Kendi Gitea sunucunuz icin Docker executor tipinde bir Actions runner'i, +Runtipi uzerinden tek tikla kurar. + +## Ozellikler +- Tek `docker` etiketiyle calisir; workflow dosyalarindaki `container: image:` + alani hangi image'in (ubuntu, archlinux, fedora, flutter, node, vs.) + cekilecegini belirler — runner tarafinda ekstra etiket tanimlamaya gerek yok. +- host'un Docker socket'ine baglanir, bu sayede istenen herhangi bir image + aninda cekilip calistirilabilir. + +## Kurulum sonrasi +1. Gitea sunucunuzda Settings > Actions > Runners > "Create new runner" + sayfasindan bir registration token alin. +2. Bu app'i kurarken istenen alanlara sunucu adresini ve token'i girin. +3. Kurulum bitince Gitea > Runners listesinde runner'in `docker` etiketiyle + gorunmesi gerekir. + +## Guvenlik notu +Bu app, `/var/run/docker.sock`'u container icine mount eder. Bu, container'a +host'un Docker daemon'i uzerinde tam kontrol (fiilen root-esdegeri yetki) +verir. Sadece guvendiginiz workflow'lari calistiran bir Gitea instance'i icin +kullanin. diff --git a/gitea-runner/metadata/logo.jpg b/gitea-runner/metadata/logo.jpg new file mode 100644 index 0000000..fad3520 Binary files /dev/null and b/gitea-runner/metadata/logo.jpg differ