Akkauntdan tortib server, domen va Cloudflare'gacha — 7 ta darsda bosqichma-bosqich yo'l xaritasi. Har qadamda buyruqlar va tayyor promptlar.
12 bosqich, 3 ta tayyor paket va 40+ buyruq. Quyidagi darslar shu qo'llanma asosida — to'liq nusxasini yuklab olib, yoningizda saqlang.
Barcha keyingi bosqichlar shu asosga tayanadi.
git-scm.com (Windows'da Git Bash bilan).$env:PROCESSOR_ARCHITECTURE → ARM64 chiqsa — ARM. Vaybkoding bemalol ishlaydi, faqat Docker image'ni serverda yig'ing yoki docker buildx build --platform linux/amd64 ishlating. Dasturlarni har doim rasmiy saytdan, «ARM64» versiyasini yuklang.Kompyuterimni vaybkodingga tayyorla: 1) operatsion tizim va protsessor arxitekturasini aniqla (x64 yoki ARM64); 2) Git, Node.js va VS Code o'rnatilganini tekshir. Nima yetishmasa — rasmiy saytdan, mening arxitekturamga mos versiyani qanday o'rnatishni qadam-baqadam yoz. O'zing hech narsa o'rnatma.
Antigravity · Claude Code · Codex.
Uchala agent ham bir xil ishni qiladi — kodni siz uchun yozadi. Farqi interfeys, model va narxda. Boshlash uchun bittasini tanlang.
| Agent | Nima | Narx |
|---|---|---|
| Google Antigravity | VS Code'ga o'xshash IDE, bir nechta agent parallel | Bepul (limit bilan) · AI Pro $19.99 |
| Claude Code | Terminal, VS Code, desktop va web; katta loyihalar uchun kuchli | Bepulda yo'q · Pro $20 · Max $100 / $200 |
| OpenAI Codex | ChatGPT ichida: CLI, IDE plagini, web | Free (cheklangan) · Go $8 · Plus $20 |
# Claude Code — Windows PowerShell irm https://claude.ai/install.ps1 | iex # Claude Code — macOS / Linux curl -fsSL https://claude.ai/install.sh | bash # Codex — istalgan OS (Node.js kerak) npm install -g @openai/codex # Antigravity — antigravity.google/download dan yuklab oling
Terminaldan qo'rqsangiz — desktop ilovalar bor: Claude Desktop (claude.com/download, Code bo'limi), Codex app, Antigravity.
/init → CLAUDE.md, Codex'da AGENTS.md.Shift+Tab → Plan), keyin kod./clear bilan yangi suhbat; kerakli kontekst CLAUDE.md da turadi.Bu loyiha uchun CLAUDE.md fayl yarat: loyiha nima, qaysi texnologiyalar ishlatiladi, fayllar tuzilishi, qanday ishga tushiriladi va nimalarga tegmaslik kerak (.env, to'lov kodi). Qisqa va aniq bo'lsin — har yangi suhbatda shuni o'qiysan.
Akkaunt, repo va xatolarni tuzatish jadvali.
Commit — kompyuteringizdagi saqlash nuqtasi. Push — shu nuqtalarni GitHub'ga yuborish. GitHub'ning bepul tarifi cheksiz ochiq va yopiq repo beradi.
github.com/signup → loyiha emaili, parol menejeri yaratgan uzun parol.mening-saytim, Private → Create.git config --global user.name "Ism Familiya" git config --global user.email "github@email.uz" git init git add . git commit -m "Birinchi versiya" git branch -M main git remote add origin https://github.com/USERNAME/mening-saytim.git git push -u origin main
Har kungi sikl: git status → git add . → git commit -m "..." → git push. Yoki agentga: «commit qil va push qil».
| Muammo | Tuzatish |
|---|---|
| Faylni buzdim, commit qilmadim | git restore fayl.html — oxirgi commitdagi holatga |
| Push qilingan commit xato | git revert HEAD → git push — xavfsiz bekor qilish |
| rejected … fetch first | Avval git pull, keyin git push |
| Author identity unknown | git config --global user.name va user.email ni sozlang |
| Authentication failed | Brauzerda GitHub'ga kirishga ruxsat bering yoki GitHub Desktop ishlating |
| Merge conflict | Agentga: «konfliktni hal qil» |
| .env GitHub'ga ketib qoldi | Kalitni servisda darhol o'chirib, yangisini yarating; .env ni .gitignore ga qo'shing |
Loyihamni GitHub'ga yukla. Repo manzili: https://github.com/USERNAME/mening-saytim.git Avval .gitignore borligini va .env unga kirganini tekshir, keyin commit qil va push qil. Xato chiqsa — sababini oddiy tilda tushuntir.
Sotib olish, kalit bilan kirish va birinchi himoya.
VPS — internetda doimo yoqilgan sizning kompyuteringiz. Backend, bot va Docker'li saytlar shu yerda ishlaydi. Oddiy statik sayt uchun server kerak emas (7-dars, A yo'l).
Hajm: sayt + bot uchun 1–2 GB yetadi; baza va bir nechta konteyner bo'lsa — 4 GB. Katta o'zgarishdan oldin panelda snapshot oling.
# 1 · Kalit yaratish (Windows PowerShell'da ham ishlaydi) ssh-keygen -t ed25519 -C "email@uz" cat ~/.ssh/id_ed25519.pub # shu matnni DO / Hetzner'ga qo'ying # 2 · Ulanish (birinchi safar "yes") ssh root@SERVER_IP # 3 · Birinchi himoya (serverda) apt update && apt upgrade -y adduser deploy usermod -aG sudo deploy ufw allow OpenSSH ufw allow 80,443/tcp ufw enable
Qisqa nom uchun ~/.ssh/config ga Host sayt, HostName SERVER_IP, User deploy yozing — keyin shunchaki ssh sayt.
id_ed25519) ni hech kimga yubormang.Serverim: Ubuntu 24.04, IP: [SERVER_IP], foydalanuvchi: deploy. deploy foydalanuvchisiga SSH kalitimni qo'sh va parol bilan kirishni o'chir. Har buyruqdan oldin nima qilishini tushuntir. Parolni o'chirishdan oldin ikkinchi oynada kalit bilan kirishni tekshirishimni so'ra.
Kompyuterda ishlagan narsa serverda ham aynan shunday ishlaydi.
Docker saytingizni barcha kerakli narsalari bilan bitta «konteyner»ga joylaydi. Statik sayt uchun shart emas — backend, baza yoki Telegram bot bo'lsa, eng qulay yo'l.
Kompyuterga: Docker Desktop (docker.com) — Windows'da WSL 2 ni yoqishga rozi bo'ling. Shaxsiy foydalanish bepul.
# Serverga o'rnatish (Ubuntu) curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo usermod -aG docker $USER docker run hello-world # Kerakli buyruqlar docker compose up -d --build # yig'ish va ishga tushirish docker compose ps # nima ishlab turibdi docker compose logs -f # loglarni kuzatish docker compose down # to'xtatish
Dockerfile'ni qo'lda yozish shart emas — agentga yozdiring. Tekshirish: brauzerda http://localhost ochiladi.
Bu loyiha uchun Dockerfile va docker-compose.yml yoz. Sayt 80-portda ishlasin, Caddy bilan HTTPS bo'lsin. Keyin lokal ishga tushirib tekshir.
.uz domen olish, NS almashtirish, SSL.
cctld.uz/whois/?domain=NOM&zone=uz — Bo'sh bo'lsa olish mumkin, Band bo'lsa boshqa nom tanlang yoki tugash sanasini kuting. Yaxshi nom: qisqa, oson aytiladigan, chiziqchasiz, faqat lotin harflari.
dash.cloudflare.com → Add a domain → domeningiz → Free.xxx.ns.cloudflare.com).| Yozuv | Nomi | Qiymati | Proxy |
|---|---|---|---|
| A | @ | SERVER_IP | avval kulrang, keyin to'q sariq |
| CNAME | www | domeningiz.uz | to'q sariq |
Domenim: [domen.uz], server IP: [SERVER_IP]. Cloudflare'da qaysi DNS yozuvlarini qo'shishim kerakligini jadval qilib ber (A, CNAME), SSL rejimini tushuntir va hammasi to'g'ri ishlayotganini qanday tekshirishni qadam-baqadam ayt.
Ikki yo'l, yangilash, zaxira va kuzatuv.
loyiha.pages.dev. Custom domains — DNS avtomatik. Har git push dan keyin sayt o'zi yangilanadi.git clone qilasiz va docker compose up -d --build. Caddy HTTPS sertifikatni avtomatik oladi.Next.js / React ilova — Cloudflare Pages, Netlify yoki Vercel (GitHub'dan avtomatik).
# Birinchi marta (serverda)
ssh sayt
git clone https://github.com/USERNAME/mening-saytim.git
cd mening-saytim
docker compose up -d --build
# Caddyfile — avtomatik HTTPS
domeningiz.uz, www.domeningiz.uz {
reverse_proxy app:3000
}
# Har yangilashda
git push # kompyuterda
ssh sayt
cd mening-saytim && git pull && docker compose up -d --buildhttps:// bilan ochiladi, qulf belgisi bor; www. bilan ham ochiladi.pagespeed.web.dev) — 80+ ball..env GitHub'da yo'q.| Yo'nalish | Nima qilish kerak |
|---|---|
| Zaxira | Kod GitHub'da (har push = zaxira) · server Backups (≈20% narx) · baza — kunlik dump |
| Kuzatuv | UptimeRobot — sayt yiqilsa xabar (bepul) · Cloudflare Web Analytics (bepul) |
| Yangilanish | Oyiga bir marta apt update && apt upgrade · Docker image'larni yangilash |
| Xarajat | Domen va obuna muddatlari kalendarda · to'xtatilgan server ham pulli · API kalitlarga limit |
main'ga har push'da serverga SSH orqali ulanib, git pull va docker compose up -d --build qiladigan GitHub Actions workflow yoz. Kalitlarni GitHub Secrets'da saqla va qaysi secret'larni qo'shishim kerakligini ro'yxat qilib ber.
Qaysi servisni tanlash, qancha to'lash va qanday kompyuter kerak — solishtirma jadvallar bilan.