Rehber · Bare metal üzerinde GitHub Actions · belgeler 1 Kasım 2026'da okundu
Kiralık bir dedicated sunucuda self-hosted GitHub Actions runner'ı nasıl kurarım?
Kiralık bir Linux makinesinde runner kaydedin, kendi kullanıcısı altında servis olarak çalıştırın ve güvenilmeyen kodu ondan uzak tutun. Aşağıdaki her komut ve kural GitHub'ın belgelerinden alınmıştır.
Kiralık bir dedicated sunucuda self-hosted GitHub Actions runner'ı nasıl kurarım?
Kiralık bir dedicated sunucuda self-hosted GitHub Actions runner kurmak için önce root olmayan bir kullanıcı oluşturun. Ardından Settings → Actions → Runners → New self-hosted runner yolunu izleyin ve GitHub'ın yazdırdığı komutları çalıştırın, sonra çalışmaya devam etmesi için sudo ./svc.sh install komutunu kullanın. Yalnızca özel depolar için kullanın. Lumenfer sunucuları 30 günlük $91,65'den başlayan fiyatlarla, KYC olmadan kripto ile ödenir.
GitHub'ın referansına göre runner'ın ihtiyaçları
Ağ
github.com, api.github.com ve *.actions.githubusercontent.com adreslerine 443 portundan giden HTTPS trafiği; her yönde en az 70 kbit/s
Linux sistemleri
Diğerlerinin yanı sıra x64 üzerinde Ubuntu 20.04 veya üzeri ve Red Hat Enterprise Linux 8 veya üzeri
Konteyner işleri
Docker kurulu bir Linux makinesi
Runner güncellemeleri
Bir iş atandığında otomatik; yeni bir sürüm çıktıktan sonra 30 gün içinde güncellemeniz gerekir
İş sınırları
İş başına en fazla 5 gün; 24 saat kuyrukta bekleyen iş iptal edilir
Çevrimdışı runner'lar
Bağlantı kurulmadan 14 gün sonra kaldırılır; geçici runner'lar 1 gün sonra
Görseller Lumenfer adresinde
Debian 13, Debian 12, Ubuntu 24.04 LTS, AlmaLinux 10, Rocky Linux 10 ve Proxmox VE 9
Giriş
You log in as root over SSH. Paste a public key when ordering and password logins stay disabled, or skip it and receive a temporary root password with the server, to replace on your first login
Kurulum
Ödeme onaylandıktan birkaç dakika sonra, hiçbir zaman bir saati aşmadan
Runner'ı kurmadan önce neye ihtiyacım var?
GitHub'da yönetici haklarına ve bir Linux makinede root yetkisine ihtiyacınız var. Depo runner'ı için GitHub sizden depo sahibi, organizasyon sahibi veya depo yöneticisi olmanızı ister. Organizasyon genelinde bir runner için organizasyon sahibi gerekir.
Sunucu tarafında, SSH açık anahtarınızla Ubuntu 24.04 LTS veya Debian imajı sipariş edin. Sunucunuz ödeme onaylandıktan birkaç dakika sonra devreye girer ve bekleme hiçbir zaman bir saati aşmaz; panel kurulumu izler, ardından makine çalışır olduğunda IP adresini gösterir. Makine hazır olduğunda IP adresi kontrol panelinizde görünür.
Boyutu ortalama işinize göre değil, en ağır işinize göre seçin. Derleme sunucusu donanım rehberimiz derleyicilerin ve bağlayıcıların çekirdekleri ve belleği nasıl kullandığını açıklar.
Herkese açık bir depoda kendi barındırdığım runner'ı kullanabilir miyim?
Kaçının: GitHub, kendi barındırılan runner'ları yalnızca özel depolar için önerir. Herkes herkese açık bir depoyu çatallayabilir ve bir pull request açabilir. Bu pull request makinenizde kod çalıştırabilir.
GitHub'ın güvenlik başvuru kaynağı riskleri açıkça ortaya koyar. Bir runner, güvenilmeyen iş akışı kodu tarafından kalıcı olarak ele geçirilebilir. Bu kod daha sonra sırlara ve GITHUB_TOKEN erişebilir. Ortam sırları ve zorunlu gözden geçirenler makinenin kendisini izole etmez.
Token'ı kısıtlayın. Varsayılan GITHUB_TOKEN iznini depo içerikleri için salt okunur yapın ve iş başına daha fazla yetki verin.
Ayrıcalıklı tetikleyicilerden kaçının.pull_request_target veya workflow_run'i asla güvenilmeyen pull request kodunun checkout'u ile birleştirmeyin.
Runner'larınızı gruplayın. Organizasyon runner'ları birçok depodan iş alabilir. Runner grupları bir ihlali tek bir sınır içinde tutar.
Sırları diskten uzak tutun. GitHub, runner'da saklanan hassas materyali en aza indirmenizi ister.
Runner'ı adım adım nasıl kurarım?
Bu adımlar, 1 Kasım 2026'da okunan runner ekleme, bunları hizmet olarak çalıştırma ve iş akışlarında kullanma üzerine üç GitHub Docs sayfasını izler. Her biri SSH üzerinden çalışır.
Sunucuyu SSH anahtarınızla sipariş edin
Ödeme sırasında Ubuntu 24.04 LTS veya Debian seçin ve açık anahtarınızı yapıştırın. Parola ile oturum açma ardından devre dışı kalır.
Sistemi güncelleyin ve bir runner kullanıcısı ekleyin
apt update && apt full-upgrade komutunu çalıştırın, ardından gh-runner gibi ayrıcalıksız bir kullanıcı oluşturun. İşler asla root olarak çalışmamalıdır.
Docker'ı yalnızca işler container kullanıyorsa kurun
GitHub, container action'ları ve hizmet container'ları için Linux'ta Docker gerektirir. Docker'ın belgeleri docker grubunun root düzeyinde ayrıcalıklar verdiği konusunda uyarır.
New self-hosted runner sayfasını açın
Depoda Settings → Actions → Runners → New self-hosted runner bölümüne gidin, ardından Linux ve x64 seçin. Organizasyonlar önce New runner'ı kullanır.
GitHub'ın komutlarını runner kullanıcısı olarak çalıştırın
İndirme, sağlama toplamı ve ./config.sh --url … --token … satırlarını gösterilen sırayla yapıştırın. Kayıt token'ı bir saat sonra sona erer.
Runner'ı hizmet olarak kurun
Runner klasöründen sudo ./svc.sh install gh-runner, ardından sudo ./svc.sh start ve sudo ./svc.sh status komutlarını çalıştırın. Artık yeniden başlatmalara dayanır.
Bir iş akışını ona yönlendirin
runs-on: [self-hosted, linux, x64] ayarlayın. Bir runner işi alabilmek için listelenen her etiketi taşımalıdır.
Depo ayarlarını kilitleyin
GITHUB_TOKEN varsayılan olarak salt okunur yapın ve hangi depoların runner'ı kullanabileceğini sınırlayın. Ardından bir test işi çalıştırın.
Ubuntu veya Debian üzerinde 2., 5. ve 6. adımlar (URL ve token New runner sayfanızdan gelir)
# step 2, as root: update and create the runner user
apt update && apt full-upgrade -y
adduser --disabled-password --gecos "" gh-runner
# step 5, as gh-runner, in the folder where you ran GitHub's download lines
./config.sh --url https://github.com/OWNER/REPO --token TOKEN
# for a runner that takes one job, then de-registers:
# ./config.sh --url https://github.com/OWNER/REPO --token TOKEN --ephemeral
# step 6, from the same folder, with sudo rights
sudo ./svc.sh install gh-runner
sudo ./svc.sh start
sudo ./svc.sh status
7. adım: kiralanan sunucuda çalışan bir iş
permissions:
contents: read
jobs:
build:
runs-on: [self-hosted, linux, x64]
steps:
- uses: actions/checkout@v7
- run: make -j"$(nproc)" test
Tek bir kiralık sunucuda geçici runner'lar kullanmalı mıyım?
Evet, güvenilen dahili koddan daha fazlası için: GitHub, bir iş alıp sonra kaydını silen geçici runner'ları önerir.config.sh çalıştırırken --ephemeral ekleyin. Kendi otomasyonunuz ardından çalışma alanını siler ve yeni bir runner kaydeder.
GitHub ayrıca just-in-time runner'lar sunar. REST endpoint POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig tek işlik bir yapılandırma döndürür. Klasik kayıt için POST /repos/{owner}/{repo}/actions/runners/registration-token bir saat geçerli bir token döndürür.
Aynı fiziksel ana bilgisayardaki tek işlik runner'lar temiz bir sayfa değildir. GitHub, donanımın just-in-time runner'lar için yeniden kullanılmasının ortamdan bilgi sızdırabileceği konusunda uyarır. Bare metal'de bunun yerine her işe tek kullanımlık bir sanal makine veya container verin.
Kubernetes. GitHub'ın Actions Runner Controller'ı, kendi barındırılan runner'ları ölçekleyen bir Kubernetes operatörüdür. Bare metal'de Kubernetes nasıl çalıştırılır bölümüne bakın.
Günlükler. Tek işlik bir runner daha sonra incelemek için hiçbir şey bırakmaz, bu nedenle GitHub önce günlüklerini harici depolamaya iletmenizi ister.
Bir sunucu kaç runner taşıyabilir?
Bir runner süreci bir iş alır, bu nedenle kaç paralel iş istiyorsanız o kadar runner kaydedin; her biri kendi klasöründe ve kendi hizmetiyle. Makineyi en ağır işinize göre bölün. Yaygın bir bölünme, 4 ila 8 iş parçacığı başına bir runner ve en kötü bağlama adımı için RAM'dir.
Tablo, her planı makul bir başlangıç noktasına eşler. Bir hafta htop ve iş sürelerini izledikten sonra ayarlayın.
CI runner ana bilgisayarları olarak Lumenfer planları
Tüm sütunları görmek için kaydırın
Plan
CPU
Çekirdekler
Bellek
Diskler
30 gün başına
İyi başlangıç
Lumen 6
AMD EPYC 4244P
6 çekirdek / 12 iş parçacığı
32 GB DDR5 ECC
2 × 960 GB NVMe
$91.65
1 ila 2 runner: lint, birim testleri, küçük hizmetler
Lumen 8
AMD Ryzen 7 9700X
8 çekirdek / 16 iş parçacığı
64 GB DDR5
2 × 1 TB NVMe
$109.37
2 ila 4 runner: Go, Rust veya Java derlemeleri
Lumen 16
AMD Ryzen 9 9950X
16 çekirdek / 32 iş parçacığı
128 GB DDR5
2 × 1.92 TB NVMe
$205.27
4 ila 8 runner veya bir büyük C++ derlemesi
Lumen 24
AMD EPYC 9254
24 çekirdek / 48 iş parçacığı
256 GB DDR5 ECC
2 × 1.92 TB NVMe
$356.25
ECC bellekli Proxmox altında runner VM'leri
Lumen 32
AMD EPYC 9354
32 çekirdek / 64 iş parçacığı
384 GB DDR5 ECC
2 × 3.84 TB NVMe
$749.67
Tüm bir organizasyon için runner havuzu
GitHub tarafından barındırılan runner'lar, artık kendim üstlendiğim hangi işleri hallediyor?
Temiz makine, güncellemeler ve kurtarma: GitHub işletim sisteminden ve diğer tüm yazılımlardan sizi sorumlu tutar.
Disk büyümesi. Çalışma alanları, Docker imajları ve önbellekler işler arasında birikir. Bir temizlik planlayın, yoksa NVMe bir sürüm sırasında dolar.
Runner güncellemeleri. Runner bir iş aldığında kendini günceller. --disableupdate ile kaydederseniz yine de 30 gün içinde güncellemeniz gerekir.
Kilitlenmeler. Müşteriler için IPMI veya KVM-over-IP konsolu yoktur: yeniden başlatma ve yeniden kurulum taleplerini panelden verirsiniz ve ekibiniz bunları gerçekleştirir. Güvenlik duvarı değişikliklerini ikinci bir SSH oturumu açıkken test edin.
Derlemelerden gelen posta. Her sunucuda 25 numaralı bağlantı noktasındaki giden SMTP engellenir ve hiçbir zaman açılmaz; posta sağlayıcılarına giden 465 ve 587 numaralı gönderim bağlantı noktaları açık kalır.
Veri. Yedekleme dahil değildir: verilerinizin kopyalarını başka bir yerde tutun.
Lumenfer'in 30 October 2026 kontrolünde, adanmış sunucu satıcıları 30 dakika ile 10 iş günü arası'ten başlayan kurulum süreleri belirtti; medyan 24 saat. Lumenfer hızlı uçta yer alır: bir runner sunucusu ödeme onaylandıktan dakikalar sonra çalışır, sınır bir saattir. Maliyetler kendi barındırılan runner vs GitHub tarafından barındırılan maliyet sayfasında dakika dakika karşılaştırılır ve her plan Lumenfer fiyatlandırma sayfasında bulunur.
Runner'larımı hangi plan barındırmalı?
Her makine tek müşteriye ait, faturalandırma kripto bakiyesinden yapılır. Amsterdam (Hollanda), Reykjavik (İzlanda), Zürih (İsviçre) ve Bükreş (Romanya): dört şehirde de beş planın tamamı, her yerde tek fiyat.
Her planda: 2022+ CPU · DDR5 · Yalnızca NVMe · RAID 1 · Dedicated IPv4 · KYC yok
Kiralık bir sunucuda kendi barındırdığınız GitHub runner: SSS
GitHub runner'ı root olarak çalıştırabilir miyim?
Hayır. Ayrı bir kullanıcı oluşturun ve hizmeti GitHub'ın hizmet sayfasında gösterildiği gibi sudo ./svc.sh install USERNAME ile onun için kurun. Root olarak çalışan bir job, kendisinden sonraki tüm job'lar için ve sizin için ana makineyi değiştirebilir.
Runner için gelen portlara ihtiyaç var mı?
GitHub'ın iletişim gereksinimleri, kendi alan adlarına 443 portundan giden HTTPS bağlantısını ve her yönde en az 70 kbit/s'yi listeler. Gelen tarafta SSH hariç her şeyi kapatabilirsiniz. Runner her bağlantıyı kendisi, giden yönde açar.
Bir sunucu birden fazla depoya hizmet verebilir mi?
Evet, runner'ı organizasyon düzeyinde kaydedip bir runner grubuna atayın. GitHub, organizasyon runner'larının birçok depodan job alabileceği konusunda uyarır; bu nedenle bir grup, kötü bir job'un ne kadar uzağa ulaşacağını sınırlar.
Sunucum yeniden başlarsa veya çevrimdışı olursa ne olur?
Hizmet yeniden başlatmadan sonra tekrar başlar. Job'lar kuyrukta bekler ve 24 saat sonra iptal edilir. 14 günden uzun süre bağlantısı kesik kalan bir runner GitHub'dan kaldırılır ve yeniden kaydedilmesi gerekir.
GitLab runner'larını veya Jenkins agent'larını da aynı şekilde barındırabilir miyim?
Evet. Herhangi bir Linux CI agent'ı sunucuda root erişimiyle çalışır. Güvenlik kuralları aynen geçerlidir: güvenilmeyen kod, ana makinenin kendisini değil, tek kullanımlık bir VM veya container alır.
Nasıl ödeme yaparım ve kimliğime ihtiyacınız var mı?
KYC yok: hiçbir zaman kimlik, selfie, belge, kart veya telefon numarası istemeyiz. BTC, USDT, USDC, ETH, SOL, LTC, XMR cinsinden bir bakiye yükleyin (minimum $1) ve 30 gün, 3 ay, 6 ay veya 12 ay için bundan sipariş verin.