🌐 Detecting your location…
📢 Advertisement — Configure AdSense in Appearance → Customize → AdSense Settings

كيفية إعداد معمل منزلي لتعلم DevOps في عام 2026

⏱️4 min read  ·  879 words


How to Set Up a Home Lab for Learning DevOps in 2026

فريق التحرير في TechPulse
كتاب التكنولوجيا · 24 مايو، 2026
📅 24 مايو 2026⏱ قراءة 15 دقيقة📂 الكيفية🏷 devops · homelab · docker · kubernetes · linux

لماذا بناء مختبر منزلي؟

في عام 2026، تعد DevOps واحدة من الأدوار الأعلى أجرًا في مجال التكنولوجيا – متوسط ​​الراتب 140.000 دولار – 180.000 دولار في الولايات المتحدة. لكن الاختراق يتطلب خبرة عملية في استخدام Kubernetes وCI/CD والبنية التحتية كرمز والمراقبة. يتم تحديد المستويات المجانية للسحابة. تتبخر البرامج التعليمية عندما تصل إلى حدود الفوترة.

مختبر منزلي يحل هذا:بيئة دائمة التشغيل ومحددة التكلفة حيث يمكنك كسر الأشياء بحرية والتعلم بشكل أسرع من أي دورة تدريبية.

💡 حساب عائد الاستثمار:يعمل جهاز كمبيوتر صغير بقيمة 300 دولار كمعمل منزلي، مقارنةً بمثيلات AWS EC2 المكافئة التي تعمل على مدار الساعة طوال أيام الأسبوع، مما يوفر ما يقرب من 200 دولار شهريًا من تكاليف السحابة. يتم سدادها خلال 1.5 شهرًا. وبعد ذلك، يصبح التعلم مجانيًا.

الأجهزة: ما تحتاجه بالفعل

لا تحتاج إلى أجهزة خادم باهظة الثمن. فيما يلي ثلاث مستويات للميزانية:

الطبقة الأجهزة التكلفة الأفضل لـ
كاتب جهاز الكمبيوتر/الكمبيوتر المحمول الموجود لديك (التمهيد المزدوج أو جهاز VM) $0 تعلم أساسيات دوكر
منتصف بيلينك SER5 (Ryzen 5 5560U، 32 جيجا رام، 500 جيجا SSD) ~ 250-300 دولار مجموعة k3s كاملة + CI/CD
متقدم Dell PowerEdge R720 أو HP DL380 مستعمل (ذاكرة الوصول العشوائي سعة 128 جيجابايت، محركات أقراص متعددة) 200-500 دولار k8s متعدد العقد، تخزين Ceph

موصى به لمعظم الناس:جهاز كمبيوتر صغير مجدد مزود بذاكرة وصول عشوائي (RAM) سعة 32 جيجابايت ومحرك أقراص SSD NVMe سعة 1 تيرابايت. حقق Beelink SER5 Pro أو Intel NUC 12 Pro مكانًا رائعًا. أضف محول TP-Link TL-SG108 رخيص الثمن (20 دولارًا) إذا كنت تريد شبكات متعددة العقد لاحقًا.

الخطوة 1: تثبيت Proxmox VE

بروكسموكس VE(البيئة الافتراضية) عبارة عن برنامج Hypervisor مجاني ومفتوح المصدر يتيح لك تشغيل العديد من أجهزة VM وحاويات LXC على جهاز واحد. فكر في الأمر على أنه برنامج VMware شخصي خاص بك – ولكنه مجاني ومستند إلى Linux.

  1. قم بتنزيل Proxmox ISO منproxmox.com/downloads
  2. فلاش إلى محرك أقراص USB:dd if=proxmox-ve_*.iso of=/dev/sdX bs=1M status=progress
  3. قم بالتمهيد من USB، ثم قم بالتثبيت على NVMe SSD
  4. قم بالوصول إلى واجهة مستخدم الويب علىhttps://YOUR_IP:8006

# After install — disable subscription nag (optional)
sed -i.bak "s/NotFound/Active/" /etc/apt/sources.list.d/pve-enterprise.list || true
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription"   >> /etc/apt/sources.list.d/pve-no-subscription.list
apt-get update && apt-get dist-upgrade -y

الخطوة 2: قم بإنشاء أجهزة VM الأولى الخاصة بك

قم بتخطيط تخطيط VM الخاص بك قبل إنشائه. إليك بنية بداية قوية:

اسم الجهاز الافتراضي OS ذاكرة الوصول العشوائي الغرض
k3s-ماستر أوبونتو 24.04 4 جيجا طائرة التحكم Kubernetes
k3s-worker-1 أوبونتو 24.04 4 جيجا عقدة عبء عمل Kubernetes
k3s-worker-2 أوبونتو 24.04 4 جيجا عقدة عبء عمل Kubernetes
جيتيا أوبونتو 24.04 2 جيجا خادم Git + CI/CD
مراقبة أوبونتو 24.04 2 جيجا بروميثيوس + جرافانا

في Proxmox، أنشئ كل جهاز افتراضي: انقر علىإنشاء VM، حدد ISO (Ubuntu 24.04)، وقم بتعيين الموارد أعلاه، وقم بتمكين وكيل QEMU لإدارة أفضل.

الخطوة 3: تثبيت Docker وDocker Compose

على كل Ubuntu VM تريد تشغيل الحاويات:

# Install Docker Engine (official method)
curl -fsSL https://get.docker.com | sh

# Add your user to docker group (avoid sudo)
usermod -aG docker $USER
newgrp docker

# Install Docker Compose v2 (built-in plugin)
apt-get install -y docker-compose-plugin

# Verify
docker --version          # Docker version 27.x
docker compose version    # Docker Compose version v2.x

اختبار مع عبء عمل حقيقي:

# docker-compose.yml — Nginx + Portainer (container management UI)
services:
  portainer:
    image: portainer/portainer-ce:latest
    restart: always
    ports:
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data

  nginx:
    image: nginx:alpine
    restart: always
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro

volumes:
  portainer_data:

docker compose up -d
# Access Portainer at http://YOUR_IP:9000

الخطوة 4: نشر Kubernetes باستخدام k3s

ك3سهي توزيعة Kubernetes خفيفة الوزن ومعتمدة – جميع واجهات برمجة تطبيقات Kubernetes الحقيقية في ملف ثنائي واحد يبلغ حجمه 70 ميجابايت. مثالية للمختبرات المنزلية.

# On k3s-master VM:
curl -sfL https://get.k3s.io | sh -

# Get the join token for worker nodes
cat /var/lib/rancher/k3s/server/node-token

# On each k3s-worker VM (replace with your master IP and token):
export K3S_MASTER_IP="192.168.1.100"
export K3S_TOKEN="your-token-here"
curl -sfL https://get.k3s.io | K3S_URL="https://${K3S_MASTER_IP}:6443"   K3S_TOKEN="${K3S_TOKEN}" sh -

# On master — verify cluster
kubectl get nodes
# NAME           STATUS   ROLES                  AGE   VERSION
# k3s-master     Ready    control-plane,master   1m    v1.31.x
# k3s-worker-1   Ready    <none>                 45s   v1.31.x
# k3s-worker-2   Ready    <none>                 30s   v1.31.x

انشر تطبيقك الأول على Kubernetes:

# nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:alpine
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  type: LoadBalancer
  selector:
    app: nginx
  ports:
  - port: 80
    targetPort: 80

kubectl apply -f nginx-deployment.yaml
kubectl get pods -o wide    # see pods spread across worker nodes
kubectl get svc nginx-service  # get the external IP

الخطوة 5: إعداد CI/CD (Gitea + Woodpecker)

قم باستضافة إجراءات GitHub + GitHub المكافئة ذاتيًا باستخدامجيتا(خادم جيت) ونقار الخشب CI(عداء خط الأنابيب).

# docker-compose.yml on the 'gitea' VM
services:
  gitea:
    image: gitea/gitea:latest
    environment:
      - USER_UID=1000
      - USER_GID=1000
    restart: always
    ports:
      - "3000:3000"   # Web UI
      - "222:22"      # SSH git
    volumes:
      - gitea_data:/data

  woodpecker-server:
    image: woodpeckerci/woodpecker-server:latest
    restart: always
    ports:
      - "8080:8000"
    environment:
      - WOODPECKER_OPEN=true
      - WOODPECKER_GITEA=true
      - WOODPECKER_GITEA_URL=http://gitea:3000
      - WOODPECKER_AGENT_SECRET=supersecret123
    depends_on:
      - gitea

  woodpecker-agent:
    image: woodpeckerci/woodpecker-agent:latest
    restart: always
    environment:
      - WOODPECKER_SERVER=woodpecker-server:9000
      - WOODPECKER_AGENT_SECRET=supersecret123
      - WOODPECKER_BACKEND=docker
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    depends_on:
      - woodpecker-server

volumes:
  gitea_data:

قم بإنشاء ملف خط أنابيب في أي مستودع Gitea لتشغيل الإصدارات التلقائية:

# .woodpecker.yml — in your app repo
steps:
  test:
    image: python:3.12-slim
    commands:
      - pip install -r requirements.txt
      - python -m pytest tests/ -v

  build:
    image: docker
    commands:
      - docker build -t myapp:$CI_COMMIT_SHA .
    when:
      branch: main

  deploy:
    image: bitnami/kubectl:latest
    commands:
      - kubectl set image deployment/myapp myapp=myapp:$CI_COMMIT_SHA
    when:
      branch: main

الخطوة 6: المراقبة باستخدام Prometheus + Grafana

انشر مكدس مراقبة على مستوى الإنتاج في دقائق باستخدام مخطط Helm kube-prometheus-stack:

# Install Helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

# Add Prometheus community charts
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

# Install the full monitoring stack (Prometheus + Grafana + Alertmanager)
helm install monitoring prometheus-community/kube-prometheus-stack   --namespace monitoring --create-namespace   --set grafana.adminPassword=admin123

# Access Grafana
kubectl port-forward -n monitoring svc/monitoring-grafana 3000:80
# Browse to http://localhost:3000 (admin / admin123)

يأتي Grafana محملاً مسبقًا بلوحات معلومات لوحدة المعالجة المركزية العنقودية والذاكرة وصحة الكبسولة وإدخال / إخراج الشبكة والاستخدام المستمر لوحدة التخزين.

الخطوة 7: إضافة وكيل عكسي (Traefik)

بدلاً من تذكر العشرات من أرقام المنافذ، استخدم Traefik لتوجيه كافة الخدمات حسب اسم المضيف:

# Install Traefik via Helm
helm repo add traefik https://helm.traefik.io/traefik
helm install traefik traefik/traefik   --namespace traefik --create-namespace

# IngressRoute for Gitea (Traefik CRD)
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: gitea
  namespace: default
spec:
  entryPoints:
    - web
  routes:
    - match: Host(`gitea.lab.local`)
      kind: Rule
      services:
        - name: gitea
          port: 3000

أضف إدخالات إلى ملف مضيف جهاز التوجيه الخاص بك أو DNS المحلي (يعمل Pi-hole بشكل رائع) لذلكgitea.lab.local, grafana.lab.localوما إلى ذلك. قم بالتحويل إلى Traefik IP الخاص بك. لا مزيد من أرقام المنافذ.

المشاريع الأساسية للبناء

الآن وبعد أن أصبح مختبرك قيد التشغيل، قم ببناء هذه المشاريع لتعزيز المهارات التي يريدها أصحاب العمل:

  1. نشر تطبيق متكامل– قاعدة بيانات Frontend + API + على k3s ذات وحدات التخزين المستمرة
  2. أتمتة النسخ الاحتياطية— CronJob الذي يقوم بعمل نسخة احتياطية لقواعد البيانات إلى وحدة تخزين متوافقة مع Samba NAS أو S3 (MinIO)
  3. البنية التحتية كرمز— أعد إنشاء معملك بالكامل باستخدام Terraform + Ansible من البداية
  4. GitOps مع ArgoCD– استبدال أوامر kubectl اليدوية؛ جميع التغييرات تمر عبر Git
  5. التشديد الأمني ​​|||| – إضافة Falco (أمان وقت التشغيل)، سياسات الشبكة، أدوار RBACتدريبات التعافي من الكوارث
  6. — حذف عقدة، واستردادها تلقائيًا. اختبر افتراضاتك.🎯 نصيحة المحفظة:
قم بتوثيق معمل منزلك في GitHub repo باستخدام المخططات المعمارية وملفات README ودفاتر التشغيل. سيسأل كل من يجري مقابلة مع DevOps “أخبرني عن مشروع البنية التحتية الأكثر تعقيدًا لديك” – معمل منزلكالجواب.is🔧 هل أنت مستعد لبناء مختبر DevOps المنزلي الخاص بك؟

معمل منزلك هو أسرع طريق لإتقان DevOps. بمجرد تشغيله، ارفع مستوى مهاراتك في Linux من خلال دليلنا على

دروس لينكسواستكشفأدلة الحوسبة السحابيةلفهم كيفية توسع البنية التحتية للإنتاج خارج شبكتك المنزلية.الأسئلة المتداولة

ما الأجهزة التي أحتاجها لمختبر DevOps المنزلي؟

ابدأ بأي جهاز مزود بذاكرة وصول عشوائي (RAM) تبلغ سعتها 16 جيجابايت+. يعد الكمبيوتر الشخصي الصغير الذي تم تجديده (Beelink SER5 وIntel NUC) المزود بذاكرة وصول عشوائي (RAM) سعة 32 جيجابايت ومحرك أقراص NVMe SSD بسعة 1 تيرابايت (حوالي 250-300 دولار) هو المكان المناسب لتشغيل Proxmox + k3s + CI/CD في وقت واحد.

هل يجب أن أستخدم Docker أو Kubernetes في معملي المنزلي؟

كلاهما. ابدأ باستخدام Docker لتتعلم أساسيات الحاوية، ثم أضف k3s (Kubernetes خفيف الوزن). في عام 2026، ستكون معرفة k8 مطلوبة لمعظم أدوار DevOps – تُترجم تجربة k3s في المعمل المنزلي لديك مباشرةً.

ما هو بروكسموكس ولماذا استخدامه؟

Proxmox VE هو برنامج Hypervisor مجاني ومفتوح المصدر (مثل VMware). فهو يتيح لك تشغيل أجهزة افتراضية متعددة على جهاز واحد، وهو مثالي لمحاكاة بنية أساسية متعددة العقد دون شراء أجهزة كمبيوتر متعددة.

كيف يمكنني ممارسة CI/CD في المنزل؟

قم بتثبيت Gitea (Git المستضاف ذاتيًا) + Woodpecker CI على جهاز افتراضي. تؤدي كل عملية دفع لـ git إلى تشغيل مسار — البناء والاختبار والنشر إلى k3s. وهذا يعكس بالضبط ما تفعله الشركات الحقيقية في الإنتاج.

هل المختبر المنزلي ضروري لوظائف DevOps؟

ليس بشكل صارم، لكنه أكبر مسرع وظيفي. يمكنك الحصول على وصول غير مقيد، وبيئات مستمرة، وممارسة حقيقية للتواصل، وقصة مقابلة مقنعة. يقسم معظم مهندسي DevOps بمختبرهم المنزلي باعتباره المفتاح للحصول على مناصب عليا.

Not strictly, but it’s the biggest career accelerator. You get unrestricted access, persistent environments, real networking practice, and a compelling interview story. Most DevOps engineers swear by their home lab as the key to landing senior roles.

✍️ Leave a Comment

Your email address will not be published. Required fields are marked *

🌐 Read in:🇬🇧 English🇩🇪 Deutsch🇧🇷 Português🇸🇦 العربية🇮🇳 हिन्दी🇧🇩 বাংলা