SepehrDev · ورکشاپ عملی
پروژهت رو از Local ببر Production
توی این ورکشاپ یک اپلیکیشن واقعی رو Dockerize میکنیم، روی یک VPS واقعی Deploy میکنیم، دامنه و HTTPS راه میاندازیم و در نهایت با CI/CD استقرار پروژه رو اتوماتیک میکنیم.

قبل از خرید ببین قراره چی بسازیم
تریلر ورکشاپ رایگان است و کل مسیر را در چند دقیقه نشان میدهد.
تریلر ورکشاپ هنوز آپلود نشده است. برای افزودن ویدیو، شناسه Cloudflare Stream را در تنظیمات درس وارد کنید.
مسئله
همهچیز روی localhost تمام میشود
خیلی از ما یاد گرفتهایم اپلیکیشن بسازیم. بکاند مینویسیم، دیتابیس وصل میکنیم، API میسازیم و پروژه روی سیستم خودمان قشنگ بالا میآید. ولی دقیقاً همانجا کار متوقف میشود.
وقتی میخواهیم پروژه را جایی ببریم که بقیه هم ببینندش، ماجرا عوض میشود. سرور را از کجا بگیریم؟ چطور امنش کنیم؟ Docker را روی سرور چطور راه بیندازیم؟ دامنه را چطور وصل کنیم؟ چرا سایت روی HTTPS بالا نمیآید؟ و بعد از هر تغییر کوچک، باید دوباره دستی همهچیز را تکرار کنیم؟
مشکل این نیست که این کارها سختاند. مشکل این است که کسی آنها را پشت سر هم و روی یک پروژه واقعی نشان نداده. آموزشها معمولاً تکهتکهاند: یک ویدیو درباره Docker، یکی درباره Nginx، یکی درباره GitHub Actions — ولی هیچکدام تو را از ابتدا تا یک سایت واقعیِ بالاآمده نمیبرند.
این ورکشاپ دقیقاً همان مسیر گمشده است — یک بار، کامل، از اول تا آخر.
خروجی نهایی
مسیری که در این ورکشاپ کامل طی میکنیم
این نمودار تزئینی نیست. دقیقاً همان هشت قدمی است که در طول ورکشاپ، روی یک پروژه واقعی و روی یک سرور واقعی برمیداریم.
- Localاپلیکیشن فقط روی سیستم خودت اجرا میشود
- Dockerپروژه و وابستگیهایش داخل کانتینر
- GitHubسورس کد روی ریپازیتوری
- VPSسرور اوبونتوی امنشده و آماده
- Domainدامنه واقعی و تنظیم DNS
- HTTPSاتصال امن روی محیط Production
- CI/CDPipeline خودکار روی هر Push
- Productionسایت زنده، بهروز و در دسترس
پروژه واقعی
یک اپلیکیشن، از اول تا آخر
این ورکشاپ مجموعهای از دستورهای جدا از هم نیست. یک اپلیکیشن واقعی را انتخاب میکنیم و همان یک پروژه را در تمام مسیر همراهی میکنیم — از اجرای اولیه روی سیستم خودمان تا لحظهای که روی دامنه واقعی و زیر HTTPS بالا میآید و با هر Push خودش را بهروز میکند.



سرفصلها
۶ فصل، ۱۸ درس، یک مسیر پیوسته
هر درس یک قدم عملی است، نه یک بحث تئوری. روی هر فصل بزنید تا درسهایش را ببینید.
۰۱شروع پروژه و آمادهسازی محیط
در فصل اول با پروژهای که قرار است در طول ورکشاپ Deploy کنیم آشنا میشویم. ابتدا پروژه را بدون Docker روی سیستم Local اجرا میکنیم تا ساختار و وابستگیهای آن را بشناسیم. بعد قدمبهقدم پروژه را Dockerize میکنیم و با Docker Compose محیط موردنیاز اپلیکیشن را میسازیم. در پایان این فصل باید بتوانیم کل پروژه را بهصورت Containerized روی سیستم خودمان اجرا کنیم.
- ۱معرفی ورکشاپ و پروژه
- ۲اجرای پروژه روی Local بدون Docker
- ۳Dockerize کردن اپلیکیشن
- ۴ساخت Docker Compose
- ۵اجرای کامل پروژه با Docker روی Local
۰۲GitHub و آمادهسازی زیرساخت
حالا که پروژه با Docker اجرا میشود، سورس کد را وارد GitHub میکنیم و زیرساخت Production را آماده میکنیم. در این فصل یک VPS واقعی تهیه میکنیم و اولین اتصال امن به سرور را انجام میدهیم. این فصل پلی است بین محیط Local و سروری که قرار است اپلیکیشن واقعی روی آن اجرا شود.
- ۶انتقال پروژه به GitHub
- ۷خرید VPS و اتصال با SSH Key
۰۳امنسازی و آمادهسازی سرور Ubuntu
قبل از Deploy کردن اپلیکیشن، سرور باید برای استفاده واقعی آماده شود. در این فصل تنظیمات امنیتی اولیه SSH را انجام میدهیم، دسترسیهای غیرضروری را میبندیم، Firewall سرور را تنظیم میکنیم و Docker را روی VPS نصب میکنیم. هدف این فصل امنیت پیشرفته Linux نیست؛ هدف، امنیت پایهای و عملیای است که قبل از میزبانی اپلیکیشن لازم داریم.
- ۸غیرفعال کردن ورود SSH با Password
- ۹غیرفعال کردن SSH برای کاربر Root
- ۱۰تنظیم Firewall با UFW
- ۱۱نصب Docker روی VPS
۰۴Deploy واقعی پروژه روی VPS
در این فصل وارد بخش اصلی ورکشاپ میشویم. سرور را به GitHub متصل میکنیم، سورس پروژه را روی VPS دریافت میکنیم، تنظیمات مخصوص Production را آماده میکنیم و برای اولین بار اپلیکیشن واقعی خودمان را با Docker روی سرور اجرا میکنیم. در پایان این فصل، اپلیکیشن واقعاً روی VPS در حال اجراست.
- ۱۲اتصال VPS به GitHub و Clone کردن پروژه
- ۱۳ساخت Docker Compose مخصوص Production
- ۱۴اجرای Containerها روی سرور
۰۵دامنه، DNS و HTTPS
اپلیکیشن ما روی سرور اجرا شده، ولی هنوز میخواهیم کاربران از طریق یک دامنه واقعی و اتصال امن به آن دسترسی داشته باشند. در این فصل دامنه را به VPS متصل میکنیم، DNS را تنظیم میکنیم و HTTPS را برای محیط Production فعال میکنیم. همچنین مشکلات واقعیای که ممکن است هنگام در دسترس قرار دادن سایت رخ دهد بررسی و رفع میکنیم.
- ۱۵اتصال دامنه و تنظیم DNS
- ۱۶راهاندازی SSL و Troubleshooting محیط Production
۰۶CI/CD و Deploy اتوماتیک
تا اینجا Deploy پروژه بهصورت دستی انجام شده است. در فصل آخر این فرآیند را اتوماتیک میکنیم. ابتدا میبینیم CI/CD چه مشکلی را حل میکند و چرا به Secrets احتیاج داریم، سپس Pipeline را پیادهسازی میکنیم تا با Push کردن نسخه جدید پروژه، Deploy روی سرور بهصورت اتوماتیک انجام شود.
- ۱۷آمادهسازی CI/CD، Secrets و دسترسیها
- ۱۸پیادهسازی CI/CD و Deploy اتوماتیک
مناسب چه کسی است
این ورکشاپ برای تو است اگر…
این ورکشاپ برای برنامهنویسیه که پروژه میسازه ولی وقتی بحث Deploy روی یه سرور واقعی میشه دقیق نمیدونه از کجا باید شروع کنه.
- توسعهدهنده Backend هستی و میخواهی پروژهات را خودت بالا بیاوری
- توسعهدهنده Full-stack هستی و بخش سرور همیشه نقطه مبهم کارت بوده
- برنامهنویس Junior هستی و به DevOps علاقه داری
- مقدمات Docker را بلدی ولی تا حالا یک پروژه کامل را Deploy نکردهای
- تازه وارد مسیر DevOps شدهای و میخواهی یکبار یک جریان کاری واقعی را از نزدیک ببینی
صادق باشیم
این ورکشاپ چه چیزی نیست
ترجیح میدهم قبل از خرید بدانی چه چیزی قرار نیست بگیری. دامنه این ورکشاپ عمداً محدود نگه داشته شده تا یک کار را کامل انجام دهد: یک Deploy واقعی، از اول تا آخر.
- آموزش جامع Linux
- آموزش صفر تا صد Docker
- دوره جامع DevOps
- آموزش Kubernetes
- دوره پیشرفته Cloud Infrastructure
اگر دنبال یکی از اینها هستی، این ورکشاپ انتخاب درستی برایت نیست — و بهتر است همین حالا بدانی.

مدرس ورکشاپ
SepehrDev
سلام، من سپهرم. برنامهنویسم و مثل خیلیها، یک مدت طولانی پروژههایم روی localhost میماندند. اولین باری که خواستم یک پروژه واقعی را روی سرور بالا بیاورم، بیشتر وقتم صرف حدس زدن شد تا نوشتن کد.
این ورکشاپ همان چیزی است که دوست داشتم آن موقع کسی به من نشان میداد: نه تئوری، نه فهرست دستور، فقط یک پروژه واقعی که از اول تا آخر همراهش میرویم و هر جا چیزی خراب شد، همانجا درستش میکنیم.
[این پاراگراف جاینگهدار است — اینجا میتوانید معرفی شخصی خودتان، زمینه کاری و لینک شبکههای اجتماعیتان را اضافه کنید.]
سوالات متداول
چیزهایی که معمولاً میپرسند
آیا برای این ورکشاپ باید Docker بلد باشم؟
نه در حد تخصصی. اگر بدانی Docker چیست و چه مشکلی را حل میکند کافی است. در فصل اول خودمان پروژه را از صفر Dockerize میکنیم و هر دستوری که میزنیم را توضیح میدهم. ولی این ورکشاپ آموزش جامع Docker نیست.
آیا باید Linux بلد باشم؟
آشنایی مقدماتی با ترمینال کمک میکند، ولی شرط نیست. هر دستوری که روی سرور اوبونتو میزنیم را قدمبهقدم با هم اجرا میکنیم و دلیلش را میگویم. هدف فصل سوم، امنیت پیشرفته Linux نیست؛ همان کارهای پایهای است که قبل از بالا آوردن یک اپلیکیشن واقعی لازم داریم.
این ورکشاپ برای برنامهنویسها مناسبه؟
دقیقاً برای همین ساخته شده. مخاطب اصلی این ورکشاپ برنامهنویسی است که پروژه میسازد ولی مسیر رساندن آن به یک سرور واقعی برایش مبهم است. اگر متخصص DevOps هستی، احتمالاً بیشتر مطالب را از قبل میدانی.
برای انجام تمرینها باید VPS بخرم؟
برای اینکه همراه ورکشاپ جلو بیایی و پروژه خودت را واقعاً بالا بیاوری، بله — به یک VPS نیاز داری. در فصل دوم نشان میدهم چطور یکی تهیه کنی. هزینه سرور و دامنه جدا از هزینه ورکشاپ است و به من پرداخت نمیشود. اگر فقط میخواهی مسیر را ببینی و بعداً خودت انجامش دهی، تماشای ویدیوها بدون سرور هم ارزش دارد.
آیا سورس پروژه در اختیارم قرار میگیره؟
[جاینگهدار — این پاسخ را بعد از تصمیم نهایی درباره نحوه ارائه سورس پروژه تکمیل کنید.]
دسترسی به دوره تا چه زمانی باقی میمونه؟
دسترسی شما دائمی است و تاریخ انقضا ندارد. هر زمان وارد حساب کاربریتان شوید، ورکشاپ در بخش «دورههای من» در دسترس است.
آیا دوره پروژهمحوره؟
بله. از اول تا آخر یک اپلیکیشن واقعی را دنبال میکنیم. هیچ فصلی جدا از پروژه نیست: هر کاری که یاد میگیریم، همانجا روی همان پروژه انجام میشود.
CI/CD هم داخل دوره پیادهسازی میشه؟
بله، و در واقع نقطه اوج ورکشاپ همین است. در فصل ششم Pipeline را میسازیم، Secrets را تنظیم میکنیم، یک تغییر واقعی در کد Push میکنیم و میبینیم که سایت Production بدون هیچ کار دستی بهروز میشود.
ورکشاپ
از کد تا دیپلوی
استقرار واقعی اپلیکیشن روی VPS با Docker و CI/CD