EQVPS

Πώς να στήσετε έναν self-hosted GitHub Actions runner σε ένα VPS

Κατέγραψε έναν self-hosted GitHub Actions runner σε ένα VPS και εγκατέστησέ τον ως υπηρεσία: κατέβασε τον runner ως μη-root χρήστης, κατέγραψέ τον με το token του repo, τρέξε το svc.sh ώστε να επιβιώνει από επανεκκινήσεις. Εντολές copy-paste.

Ένας self-hosted runner σου δίνει CI σταθερού κόστους με ζεστά caches — χωρίς χρέωση ανά λεπτό, το δικό σου toolchain, το δικό σου μηχάνημα. Αυτός είναι ο ελάχιστος οδηγός στησίματος· για το γιατί το self-hosting νικά τα λεπτά που φιλοξενεί το GitHub και για λεπτομέρειες Docker-jobs, δες τον πλήρη οδηγό και το use-case VPS για GitHub Actions.

1. Δημιούργησε έναν μη-root χρήστη (ο runner αρνείται το root)

adduser --disabled-password --gecos "" runner
su - runner

2. Κατέβασε τον runner

Στο GitHub: Settings → Actions → Runners → New self-hosted runner → Linux, που σου δίνει το ακριβές download και ένα token μιας χρήσης. Μετά:

mkdir actions-runner && cd actions-runner
curl -o actions-runner-linux-x64.tar.gz -L \
  https://github.com/actions/runner/releases/latest/download/actions-runner-linux-x64.tar.gz
tar xzf actions-runner-linux-x64.tar.gz

3. Κατέγραψέ τον στο repo σου

./config.sh --url https://github.com/YOUR_ORG/YOUR_REPO --token YOUR_TOKEN

4. Εγκατέστησε ως υπηρεσία (επιβιώνει από επανεκκινήσεις)

Μην τρέχεις το ./run.sh σε ένα terminal — εγκατέστησέ το:

sudo ./svc.sh install runner
sudo ./svc.sh start
sudo ./svc.sh status

Ο runner εμφανίζεται τώρα ως Idle στο περιβάλλον του GitHub και παίρνει jobs που τον στοχεύουν.

5. Χρησιμοποίησέ τον από ένα workflow

jobs:
  build:
    runs-on: self-hosted
    steps:
      - uses: actions/checkout@v4
      - run: make build && make test

Docker jobs (προαιρετικά)

Εγκατέστησε το Docker μία φορά, και τα workflows μπορούν να χτίζουν images με το layer cache να διατηρείται μεταξύ εκτελέσεων:

sudo apt install -y docker.io
sudo usermod -aG docker runner

Δες εγκατάσταση Docker σε ένα VPS. Μέγεθος: Small ($8/μήνα) είναι άνετο για τα περισσότερα CI· ανέβασε επίπεδο για βαριά μεταγλώττιση. Root σε περίπου ένα λεπτό, χωρίς KYC, πληρωμή σε crypto.

Συχνές ερωτήσεις

Πώς καταγράφω έναν self-hosted GitHub Actions runner;

Στο repo σου (ή στον org): Settings → Actions → Runners → New self-hosted runner → Linux. Το GitHub δείχνει μια εντολή λήψης και ένα token καταγραφής μιας χρήσης. Κατέβασε τον runner ως μη-root χρήστης, τρέξε το ./config.sh με εκείνο το URL και το token, μετά εγκατέστησέ τον ως υπηρεσία με το svc.sh. Τα βήματα είναι παρακάτω.

Γιατί ο runner δεν μπορεί να τρέχει ως root;

Ο runner αρνείται να τρέξει ως root εκ σχεδιασμού. Δημιούργησε έναν αποκλειστικό μη-root χρήστη (adduser runner) και στήσ' τον εκεί. Αυτό περιορίζει επίσης τι θα μπορούσε να αγγίξει ένα κακόβουλο workflow στο μηχάνημά σου.

Πώς κρατάω τον runner να τρέχει μετά από επανεκκίνηση;

Χρησιμοποίησε τον συνοδευτικό βοηθό svc.sh: sudo ./svc.sh install runner && sudo ./svc.sh start. Εγκαθιστά μια μονάδα systemd ώστε ο runner να ξεκινά στην εκκίνηση και να επανεκκινεί σε αποτυχία, και να εμφανίζεται ως Idle στο περιβάλλον του GitHub.

Χρειάζομαι αποκλειστική IP για έναν runner;

Όχι. Ο runner καλεί προς τα έξω το GitHub μέσω HTTPS· τίποτα δεν χρειάζεται να τον φτάσει εισερχόμενο. Ένα πλάνο NAT (από $3/μήνα) λειτουργεί. Πάρε αποκλειστική IP μόνο αν επίσης self-host-άρεις κάτι που σερβίρει κίνηση.

Ζητάτε ταυτότητα ή κάρτα;

Όχι. Ένα email για εγγραφή, πληρωμή σε USDC ή USDT — χωρίς έγγραφα, χωρίς κάρτα. Root σε περίπου ένα λεπτό.

Σχόλια

Δεν υπάρχουν ακόμη σχόλια. Γίνετε ο πρώτος.

Αφήστε ένα σχόλιο

Τα σχόλια ελέγχονται πριν εμφανιστούν.