
راهکارهای دور زدن تحریمهای توسعهدهندگان: آموزش تنظیم پروکسی و مخازن جایگزین برای اجرای بدون مشکل Docker، Composer و npm روی سرورهای مجازی ایران
مقدمه
یکی از بزرگترین مشکلات توسعهدهندگان ایرانی، محدودیتها و تحریمهایی است که هنگام استفاده از ابزارهای بینالمللی مانند Docker، Composer، npm، GitHub Packages و بسیاری از سرویسهای ابری با آن مواجه میشوند. این محدودیتها باعث کندی شدید، خطاهای اتصال، عدم دسترسی به ریپازیتوریها و حتی مسدود شدن کامل برخی سرویسها میشود.
اگر از سرور مجازی ایران (VPS ایران) برای توسعه، دیپلوی یا مدیریت پروژههای برنامهنویسی استفاده میکنید، احتمالاً با خطاهایی مانند timeout، access denied، connection reset یا محدودیت دریافت package روبهرو شدهاید.
در این مقاله از نگارنوین (Negarnovin) بهصورت کامل و حرفهای بررسی میکنیم که چگونه میتوان با تنظیم پروکسی، استفاده از مخازن جایگزین و بهینهسازی DNS، ابزارهایی مانند Docker، Composer و npm را بدون مشکل روی سرورهای مجازی ایران اجرا کرد.

چرا توسعهدهندگان ایرانی با مشکل تحریم مواجه میشوند؟
بسیاری از سرویسهای نرمافزاری جهانی به دلیل محدودیتهای جغرافیایی، دسترسی کاربران با IP ایران را محدود میکنند. این محدودیتها شامل موارد زیر است:
- عدم دسترسی به Docker Hub
- کندی شدید در npm registry
- محدودیت دانلود پکیجهای Composer
- خطا در دریافت ایمیجهای Docker
- مشکل در دسترسی به GitHub Container Registry
- عدم اتصال پایدار به CDNهای خارجی
نتیجه این مشکلات، کاهش سرعت توسعه، اختلال در CI/CD و افزایش هزینههای نگهداری پروژه است.
راهکار اول: تنظیم DNS پایدار و سریع
قبل از هر چیز، باید DNS سرور را به DNSهای پایدار تغییر دهید.
DNS پیشنهادی:
- ۱.۱.۱.۱
- ۸.۸.۸.۸
- ۱۷۸.۲۲.۱۲۲.۱۰۰
- ۱۸۵.۵۱.۲۰۰.۲
در AlmaLinux / CentOS:
nmcli con mod ens32 ipv4.dns "1.1.1.1 8.8.8.8"
systemctl restart NetworkManager
این کار باعث بهبود سرعت resolve و کاهش خطاهای اتصال میشود.
راهکار دوم: تنظیم پروکسی برای Docker
Docker معمولاً بیشترین مشکل را با Docker Hub دارد.
تنظیم HTTP Proxy برای Docker
mkdir -p /etc/systemd/system/docker.service.d
nano /etc/systemd/system/docker.service.d/http-proxy.conf
محتوای فایل:
[Service]
Environment="HTTP_PROXY=http://your-proxy:port"
Environment="HTTPS_PROXY=http://your-proxy:port"
Environment="NO_PROXY=localhost,127.0.0.1"
سپس:
systemctl daemon-reexec
systemctl daemon-reload
systemctl restart docker
راهکار سوم: استفاده از Docker Registry Mirror
بهجای اتصال مستقیم به Docker Hub میتوانید از Mirror استفاده کنید.
فایل تنظیمات:
nano /etc/docker/daemon.json
نمونه:
{
"registry-mirrors": [
"https://mirror.example.com"
]
}
سپس:
systemctl restart docker
این روش سرعت pull ایمیجها را چند برابر میکند.
راهکار چهارم: تنظیم Composer بدون تحریم
Composer برای پروژههای PHP و Laravel بسیار حیاتی است.
تغییر مخزن اصلی:
composer config -g repos.packagist composer https://repo.packagist.org
استفاده از پروکسی:
export HTTP_PROXY=http://your-proxy:port
export HTTPS_PROXY=http://your-proxy:port
افزایش Timeout:
composer config -g process-timeout 2000
این کار از خطاهای timeout جلوگیری میکند.
راهکار پنجم: تنظیم npm برای سرعت بهتر
npm در ایران معمولاً کند یا ناپایدار است.
بررسی registry:
npm config get registry
تنظیم مجدد:
npm config set registry https://registry.npmjs.org/
افزایش timeout:
npm config set fetch-retry-maxtimeout 120000
پاکسازی کش:
npm cache clean --force
این کار سرعت نصب پکیجها را به شکل محسوسی بهتر میکند.
راهکار ششم: استفاده از VPS خارج برای Build Server
بسیاری از تیمهای حرفهای از این معماری استفاده میکنند:
- VPS ایران برای سرویس اصلی
- VPS خارج برای Build و دریافت Package
سپس از طریق CI/CD فایل نهایی به سرور ایران منتقل میشود.
این روش حرفهایترین راهکار برای پروژههای بزرگ است.
بهترین انتخاب برای توسعهدهندگان چیست؟
اگر پروژه شما سنگین است و به ابزارهای بینالمللی وابستگی زیادی دارد:
- سرور اروپا برای Build
- سرور ایران برای سرویس نهایی
- استفاده از LiteSpeed + Docker + CDN
بهترین ترکیب خواهد بود.
سوالات متداول
آیا استفاده از Docker روی VPS ایران ممکن است؟
بله، با تنظیم Proxy و Registry Mirror بهراحتی قابل استفاده است.
بهترین راه برای حل مشکل npm چیست؟
تنظیم registry صحیح، DNS مناسب و افزایش timeout بهترین راهکار است.
آیا Composer روی سرور ایران کند است؟
بله، اما با تنظیم مخزن مناسب و Proxy میتوان مشکل را تا حد زیادی برطرف کرد.
جمعبندی نهایی
تحریمها نباید باعث توقف توسعه پروژههای شما شوند. با استفاده از تنظیمات صحیح DNS، Proxy، Registry Mirror و انتخاب زیرساخت مناسب، میتوان Docker، Composer و npm را بدون مشکل روی سرورهای مجازی ایران اجرا کرد.
در نگارنوین، ما سرورهای مجازی بهینهشده برای توسعهدهندگان، برنامهنویسان و تیمهای DevOps ارائه میدهیم تا بدون دغدغه روی رشد پروژه خود تمرکز کنید.