ডকার ডেস্কটপ ব্যবহার করে কীভাবে একটি হোম সার্ভার তৈরি করবেন

সর্বশেষ আপডেট: 07/01/2026
লেখক: ইসহাক
  • ডকারের সাথে একটি হোম সার্ভার আপনাকে বিদ্যমান সংস্থানগুলি পুনঃব্যবহার করে একটি একক মেশিনে ক্লাউড, মাল্টিমিডিয়া, ডিএনএস এবং বিপরীত প্রক্সির মতো পরিষেবাগুলিকে কেন্দ্রীভূত করতে দেয়। হার্ডওয়্যার পুরাতন অথবা NAS।
  • ডকার, পোর্টেইনার এবং ব্রিজ নেটওয়ার্কগুলি মারিয়াডিবি, নেক্সটক্লাউড, ডাকডিএনএস, বা পাই-হোলের মতো কন্টেইনারগুলির মধ্যে ইনস্টলেশন, প্রশাসন এবং যোগাযোগকে সহজ করে তোলে।
  • একটি কন্টেইনারে Let's Encrypt সহ Nginx, DuckDNS এর মতো গতিশীল ডোমেন ব্যবহার করে স্বয়ংক্রিয় সার্টিফিকেট সহ HTTPS ব্যবহার করে পরিষেবাগুলি প্রকাশ করা সহজ করে তোলে।
  • নিরাপত্তা এবং দূরবর্তী অ্যাক্সেস কন্টেইনার (পাসওয়ার্ড ম্যানেজার, ওয়্যারগার্ড, জিরোটিয়ার) একত্রিত করলে একটি শক্তিশালী এবং যুক্তিসঙ্গতভাবে নিরাপদ বাড়ির পরিবেশ তৈরি হয়।

ডকার সহ হোম সার্ভার

ডকার ডেস্কটপ দিয়ে একটি হোম সার্ভার সেট আপ করা হচ্ছে এটি ওয়েবসাইটের মতো পরিষেবাগুলিকে কেন্দ্রীভূত করার সবচেয়ে সুবিধাজনক উপায়গুলির মধ্যে একটি, ডাটাবেস, ভিপিএনব্যক্তিগত ক্লাউড, এমনকি গেম সার্ভারও ঐতিহ্যবাহী ইনস্টলেশনের ঝামেলা ছাড়াই। কন্টেইনারের জন্য ধন্যবাদ, আপনি সবকিছু সুসংগঠিত রাখতে পারেন, আপডেট করা সহজ এবং এমন একটি স্তরের বিচ্ছিন্নতা সহ যা কিছু ভুল হলে সমস্যার ঝুঁকি উল্লেখযোগ্যভাবে হ্রাস করে।

যদি আপনার একটি পুরানো পিসি, একটি মিনি পিসি, অথবা একটি সিনোলজি-টাইপ NAS থাকেআপনি এটিকে আপনার হোম নেটওয়ার্কের স্নায়ু কেন্দ্রে পরিণত করতে পারেন: ফাইল সার্ভার, মাল্টিমিডিয়া সার্ভার, প্রাইভেট ক্লাউড সার্ভার, ডিএনএস ফিল্টারিং সার্ভার, পাসওয়ার্ড পরিচালক এবং আপনার প্রকল্পগুলির জন্য একটি ল্যাব। এবং সবচেয়ে ভালো দিক হল, ডকার এবং, যদি আপনি চান, পোর্টেনারের মাধ্যমে, আপনি ডকার গুরু না হলেও এটি বেশ স্বজ্ঞাতভাবে পরিচালনা করতে পারেন। লিনাক্স.

আপনার হোম সার্ভারের জন্য একটি মেশিন এবং অপারেটিং সিস্টেম নির্বাচন করা

যেকোনো হোম সার্ভারের ভিত্তি হলো ভৌত মেশিন যার উপর আপনি ডকার ইনস্টল করবেন। শব্দ, বিদ্যুৎ খরচ, দাম এবং কর্মক্ষমতার দিক থেকে আপনার সবচেয়ে বেশি আগ্রহের উপর নির্ভর করে আপনি আপনার বাড়িতে থাকা একটি পিসি পুনরায় ব্যবহার করতে পারেন, সিনোলজির মতো একটি NAS বেছে নিতে পারেন, অথবা একটি রিমোট ক্লাউড সার্ভার সেট আপ করতে পারেন।

একটি পুরোনো পিসি সাধারণত সবচেয়ে সস্তা বিকল্প।আপনি যদি আর ব্যবহার করেন না এমন একটি পুরানো টাওয়ারকে পুনরায় ব্যবহার করতে পারেন, একটি বা দুটি বড় হার্ড ড্রাইভ কিনতে পারেন (উদাহরণস্বরূপ, 2 TB, 4 TB, অথবা 12 TB), এবং যদি আপনি ফল্ট টলারেন্স চান তবে সেগুলিকে RAID-তে কনফিগার করতে পারেন। বে অ্যাডাপ্টার এবং ড্রাইভ যেমন ওয়েস্টার্ন ডিজিটাল রেড বা অনুরূপ ক্ষমতা এবং বিশ্বাসযোগ্যতা ২৪/৭ ব্যবহারের জন্য।

সিনোলজির মতো NAS ডিভাইসগুলি সরলতা এবং নীরব অপারেশন অফার করে।উদাহরণস্বরূপ, একটি DS420+ মডেলের নিজস্ব লিনাক্স-ভিত্তিক বিতরণ, একটি অত্যন্ত উন্নত ওয়েব ইন্টারফেস এবং অফিসিয়াল অ্যাপ্লিকেশন (অনেক মডেলে ডকার সমর্থন সহ) থাকে। হার্ডওয়্যারটি সাধারণত মাঝারি (2 GB RAM এবং একটি ডুয়াল-কোর CPU সাধারণ), তবে এটি বাড়িতে ব্যবহারের জন্য যথেষ্ট।

অপারেটিং সিস্টেম স্তরে, প্রায় যেকোনো কিছুই সম্ভব।: তুমি ব্যবহার করতে পার উইন্ডোজmacOS অথবা Linux। একটি বেসিক হোম সার্ভার পিসির সাথে আসা উইন্ডোজের সাথে পুরোপুরি ভালোভাবে কাজ করতে পারে, কিন্তু যদি আপনি রিসোর্স সর্বাধিক করতে চান এবং সার্ভারের জন্য ডিজাইন করা একটি সিস্টেম চান, তাহলে Debian, Ubuntu Server, TrueNAS, অথবা NAS এর নিজস্ব ডিস্ট্রিবিউশন সাধারণত ভালো প্রার্থী।

হার্ডওয়্যারের প্রয়োজনীয়তার দিক থেকে, ডকার বিশেষভাবে কঠিন নয়। সাধারণ বাড়িতে ব্যবহারের জন্য (নেক্সটক্লাউড, ছোট ডাটাবেস, প্লেক্স, পাই-হোল, ইত্যাদি)। ২ জিবি র‍্যাম এবং একটি ডুয়াল-কোর সিপিইউ সহ, আপনি বেশ কয়েকটি কন্টেইনার চালাতে পারবেন যতক্ষণ না আপনি বিশাল ভিডিও ট্রান্সকোডিং বা শত শত লোকের জন্য গেম সার্ভার চালানোর মতো খুব বেশি কঠিন কিছু করেন।

হোম সার্ভারে ডকার ডেস্কটপ

আপনার সার্ভারে ডকার (এবং ডকার ডেস্কটপ) ইনস্টল করুন

প্রথম আসল পদক্ষেপ হল আপনার অপারেটিং সিস্টেম আপডেট করা। এবং অ্যাডমিনিস্ট্রেটর সুবিধাপ্রাপ্ত ব্যবহারকারীর সাথে (লিনাক্সে sudo)। ডেবিয়ান ১০ সার্ভার পরিবেশে, মৌলিক সিস্টেম ইনস্টলেশনের পরে, প্যাকেজ আপডেট করা, নেটওয়ার্ক কনফিগার করা এবং একটি নন-ইউজার অ্যাকাউন্ট তৈরি করা যুক্তিযুক্ত। শিকড় প্রশাসনিক অনুমতি সহ।

ডেবিয়ান এবং ডেরিভেটিভসে, ডকার অফিসিয়াল রিপোজিটরি থেকে ইনস্টল করা হয়।সাধারণ প্রক্রিয়ার মধ্যে রয়েছে সাপোর্ট প্যাকেজ (যেমন ca-certificates, curl, gnupg), ডকার রিপোজিটরির জন্য GPG কী ডাউনলোড এবং যোগ করা, আপনার ডিস্ট্রিবিউশনের সাথে সম্পর্কিত রিপোজিটরি নিবন্ধন করা এবং অবশেষে docker-ce, docker-ce-cli, এবং containerd.io প্যাকেজ ইনস্টল করা।

প্যাকেজগুলি ইনস্টল হয়ে গেলে, ডকার কাজ করছে কিনা তা যাচাই করার সময় এসেছে।স্বাভাবিক অভ্যাস হল "হ্যালো-ওয়ার্ল্ড" টেস্ট কন্টেইনার চালু করা, যা ডকার হাব থেকে একটি ন্যূনতম ছবি ডাউনলোড করে এবং সবকিছু সঠিকভাবে কনফিগার করা থাকলে কনসোলে একটি বার্তা প্রদর্শন করে। আপনার সাম্প্রতিক সংস্করণ আছে কিনা তা নিশ্চিত করার জন্য আপনি উপযুক্ত কমান্ড ব্যবহার করে সংস্করণটি পরীক্ষা করতে পারেন।

ক্রমাগত sudo ব্যবহার না করে ডকারের দৈনন্দিন ব্যবহার সহজ করার জন্যআপনার ব্যবহারকারীকে ডকার গ্রুপে যুক্ত করা ভালো। এটি আপনাকে চালানোর অনুমতি দেবে comandos ডকার একজন সাধারণ ব্যবহারকারী। এই পরিবর্তনটি করার পরে, অনুমতিগুলি কার্যকর হওয়ার জন্য লগ আউট বা পুনরায় চালু করার পরামর্শ দেওয়া হচ্ছে এবং সিস্টেম শুরু হওয়ার সময় ডকার পরিষেবা সঠিকভাবে শুরু হচ্ছে কিনা তা যাচাই করা উচিত।

আপনি যদি Windows বা macOS সহ একটি ডেস্কটপ কম্পিউটার থেকে কাজ করেনডকার ডেস্কটপ হল স্থানীয়ভাবে ডকার চালানোর সবচেয়ে সহজ উপায়, যার একটি মৌলিক গ্রাফিক্যাল ইন্টারফেস, ঐচ্ছিক কুবারনেটস ইন্টিগ্রেশন এবং ডকার-কম্পোজের জন্য নেটিভ সাপোর্ট রয়েছে। এই মেশিন থেকে, আপনি কন্টেইনারগুলি বিকাশ এবং পরীক্ষা করতে পারেন এবং, যদি ইচ্ছা হয়, সেগুলিকে একটি দূরবর্তী সার্ভারে স্থাপন করতে পারেন। , SSH.

পোর্টেইনার: ডকার কন্টেইনারের গ্রাফিক্যাল ব্যবস্থাপনা

যদিও ডকারের কমান্ড লাইন শক্তিশালী, এটি ভীতিকর হতে পারে। যদি আপনি সবেমাত্র শুরু করেন, তাহলে শেখার প্রক্রিয়াটি মসৃণ করার জন্য Portainer একটি খুবই কার্যকর হাতিয়ার। এটি একটি ওয়েব ইন্টারফেস যা একটি কন্টেইনারে চলে এবং আপনাকে সবসময় কমান্ড লাইন ব্যবহার না করেই ছবি, কন্টেইনার, নেটওয়ার্ক এবং ভলিউম পরিচালনা করতে দেয়।

  CCleaner: উইন্ডোজ অপ্টিমাইজ করার জন্য এটি কি সত্যিই নিরাপদ?

লিনাক্স সার্ভারে পোর্টেইনার সেট আপ করার সাধারণ প্রক্রিয়া এর জন্য প্রথমে একটি ভলিউম তৈরি করতে হবে যাতে এর কনফিগারেশন বজায় থাকে, উদাহরণস্বরূপ portainer_data তৈরি করার কমান্ড ব্যবহার করে। এই ভলিউমটি ইন্টারফেস ডেটা, ব্যবহারকারী, সংযোগ ইত্যাদি সংরক্ষণ করতে ব্যবহৃত হবে, যাতে কন্টেইনার আপডেট করার সময় সেগুলি হারিয়ে না যায়।

তারপর পোর্টেইনার কন্টেইনারটি চালু করা হয়, প্রয়োজনীয় পোর্টগুলির ম্যাপিং করে।সাধারণত, ওয়েব ইন্টারফেসের জন্য পোর্ট 9000 ব্যবহার করা হয় এবং প্রয়োজনে অতিরিক্ত বৈশিষ্ট্যের জন্য পোর্ট 8000 ব্যবহার করা যেতে পারে। অধিকন্তু, কন্টেইনারের মধ্যে ডকার সকেট (/var/run/docker.sock) মাউন্ট করা বাধ্যতামূলক যাতে পোর্টেনার হোস্টের ডকার ইঞ্জিনের সাথে যোগাযোগ করতে পারে এবং সংস্থানগুলি পরিচালনা করতে পারে।

একবার কন্টেইনারটি চালু হয়ে গেলে, আপনি আপনার ব্রাউজার থেকে Portainer অ্যাক্সেস করতে পারবেন। আপনার সার্ভারের আইপি ঠিকানা এবং পোর্ট ৯০০০ এর দিকে নির্দেশ করে। প্রথম অ্যাক্সেসে, এটি আপনাকে তার পাসওয়ার্ড দিয়ে একটি প্রশাসক ব্যবহারকারী তৈরি করতে এবং প্রাথমিক সংযোগটি কনফিগার করতে বলবে, যা স্বাভাবিক ক্ষেত্রে সার্ভারের ডকার ইঞ্জিনের সাথে স্থানীয় সংযোগ হবে।

পোর্টেনার ইন্টারফেস থেকে আপনি আপনার সমস্ত কন্টেইনার এক নজরে দেখতে পারবেন, এর অবস্থা পরীক্ষা করুন, লগ, সেগুলি পুনরায় চালু করুন, ডকার-কম্পোজ ফাইল ব্যবহার করে স্ট্যাক তৈরি করুন, ছবি, নেটওয়ার্ক, ভলিউম পরিচালনা করুন এবং সাধারণভাবে, আপনার ডকার সার্ভারে ঘটে যাওয়া সবকিছুর আরও সুবিধাজনক দৃশ্য পান, এমনকি যদি এতে বেশ কয়েকটি দূরবর্তী হোস্ট জড়িত থাকে।

ডকারে একটি ব্রিজ নেটওয়ার্ক এবং ভাগ করা পরিষেবা তৈরি করা

যখন আপনি কন্টেইনারে একাধিক পরিষেবা সেট আপ করা শুরু করবেন (ওয়েব, ডাটাবেস, ক্লাউড, রিভার্স প্রক্সি, ডিএনএস, ইত্যাদি) সবচেয়ে পরিষ্কার উপায় হল একটি নির্দিষ্ট ডকার নেটওয়ার্ক সংজ্ঞায়িত করা যাতে তারা সবাই একে অপরকে নাম ধরে দেখতে পারে, অভ্যন্তরীণ আইপিগুলির মধ্য দিয়ে যেতে না হয় যা পরিবর্তন করতে পারে।

একটি কাস্টম ব্রিজ-টাইপ নেটওয়ার্ক তৈরি করার সময়ডকার স্বয়ংক্রিয়ভাবে একটি ছোট অভ্যন্তরীণ DNS পরিষেবা সেট আপ করে। এই নেটওয়ার্কের সাথে সংযুক্ত সমস্ত কন্টেইনার তাদের কন্টেইনার নামে সমাধান করতে সক্ষম হবে, যা Nginx রিভার্স প্রক্সি, MariaDB এর সাথে যোগাযোগের জন্য Nextcloud, অথবা অন্যান্য পরিষেবার উপর নির্ভরশীল অ্যাপ্লিকেশনগুলির জন্য দুর্দান্ত।

এটা মনে রাখা গুরুত্বপূর্ণ যে কন্টেইনারের নাম অবশ্যই ছোট হাতের অক্ষরে লিখতে হবে। Nginx এর মতো কনফিগারেশনে ব্যবহার করা হলে, DNS সমাধানের সময় এই ওয়েব সার্ভার হোস্টনামগুলিকে ছোট হাতের অক্ষরে রূপান্তর করে। বড় হাতের এবং ছোট হাতের অক্ষর মিশ্রিত করলে অপ্রয়োজনীয় সমস্যা হতে পারে।

অনেক ক্ষেত্রে, ডকার নেটওয়ার্ক ছাড়াও, আপনার একটি বহিরাগত DNS পরিষেবাও প্রয়োজন হবে। অথবা এমন একটি হোম নেটওয়ার্ক যা আপনাকে আপনার NAT নেটওয়ার্কের বাইরে থেকে আপনার পাবলিক ডোমেইন বা সাবডোমেন অ্যাক্সেস করতে দেয়। এখানেই DuckDNS বা আপনার নিজস্ব DNS সার্ভারের মতো পরিষেবাগুলি কার্যকর হয়। রাউটারযা আপনি কন্টেইনারের সাথে একত্রিত করে ডায়নামিক আইপি আপডেট করতে পারেন।

সংক্ষেপে, ধারণাটি হল যে আপনার সমস্ত অবকাঠামোর কন্টেইনার একই অভ্যন্তরীণ নেটওয়ার্ক ভাগ করে নেয়। (উদাহরণস্বরূপ, "proxy_net" বা অনুরূপ), যেখানে মাত্র কয়েকটি পোর্ট বাইরের দিকে উন্মুক্ত করে (সাধারণত বিপরীত প্রক্সি), ফলে রাউটারে ফায়ারওয়াল এবং পোর্ট ফরওয়ার্ডিংয়ের কনফিগারেশন সহজ হয়।

DuckDNS: একটি কন্টেইনার হিসেবে ফ্রি ডায়নামিক ডোমেইন

যদি আপনার ইন্টারনেট সরবরাহকারী আপনাকে একটি গতিশীল আইপি ঠিকানা প্রদান করে আপনি যদি আপনার হোম সার্ভারটি দূর থেকে অ্যাক্সেস করতে চান, তাহলে আপনার এমন এক ধরণের গতিশীল DNS প্রয়োজন যা আপনার ডোমেন বা সাবডোমেনে আইপি ঠিকানা আপডেট করে। DuckDNS হল সবচেয়ে পরিচিত বিনামূল্যের বিকল্পগুলির মধ্যে একটি এবং ডকারের সাথে খুব ভালোভাবে কাজ করে।

linuxserver/duckdns ইমেজ দিয়ে আপনি একটি কন্টেইনার মাউন্ট করতে পারেন যা আপনার DuckDNS সাবডোমেনের সাথে সম্পর্কিত IP ঠিকানা পর্যায়ক্রমে আপডেট করার জন্য দায়ী। এইভাবে, আপনার রাউটারের পাবলিক IP ঠিকানা পরিবর্তন হলেও, আপনি সর্বদা একই URL এর মাধ্যমে সাইটটি অ্যাক্সেস করতে পারবেন।

যদি আপনি আগে থেকে DuckDNS ইমেজটি ডাউনলোড না করে থাকেন, তাহলে Docker আপনার জন্য এটি করবে। প্রথমবার যখন আপনি কন্টেইনারটি চালু করবেন। এরপর থেকে, আপনাকে কেবল পরিবেশের ভেরিয়েবলগুলি (DuckDNS টোকেন, সাবডোমেন, ইত্যাদি) সঠিকভাবে সংজ্ঞায়িত করতে হবে এবং এটিকে ডকার নেটওয়ার্কের সাথে সংযুক্ত করতে হবে যা আপনি এক্সপোজড পরিষেবাগুলির জন্য ব্যবহার করবেন।

linuxserver.io থেকে ছবি ব্যবহার করে একটি সাধারণ অভ্যাস এর মধ্যে প্রতিটি কন্টেইনারের জন্য ম্যাপ করা ডিরেক্টরিগুলির মালিক সার্ভার ব্যবহারকারীর UID এবং GID নির্দিষ্ট করা জড়িত। এটি নিশ্চিত করে যে সমস্ত কনফিগারেশন ফাইল, লগ এবং জেনারেট করা ডেটার হোস্ট সিস্টেমে যথাযথ অনুমতি রয়েছে।

অনুমতি নিয়ে বিভ্রান্ত না হওয়ার জন্য, সাধারণত একটি নির্দিষ্ট ব্যবহারকারী তৈরি করা একটি ভাল ধারণা। যে সার্ভারে কন্টেইনার ডেটা সংরক্ষণ করা হবে সেই সমস্ত ফোল্ডারের মালিক থাকবে (উদাহরণস্বরূপ /home/user/appdata/…)। তারপর, আপনি সেই UID/GIDটি linuxserver কন্টেইনারে পুনরায় ব্যবহার করবেন যাতে সবকিছু সারিবদ্ধ হয়।

মারিয়াডিবি/মাইএসকিউএল ডাটাবেস এবং নেক্সটক্লাউড কন্টেইনারে

আপনার হোম সার্ভারে আপনার পছন্দের অনেক পরিষেবা তাদের পিছনে একটি ডাটাবেস প্রয়োজন। এর একটি ক্লাসিক উদাহরণ হল নেক্সটক্লাউড, আপনার ব্যক্তিগত ক্লাউড, যার নির্ভরযোগ্যভাবে এবং ভাল পারফরম্যান্স সহ কাজ করার জন্য একটি MariaDB/MySQL-টাইপ ইঞ্জিন প্রয়োজন।

linuxserver/mariadb ইমেজ দিয়ে আপনি একটি হালকা DBMS সেট আপ করতে পারেনআপনি ব্যবহারকারী, পাসওয়ার্ড এবং ডাটাবেস কনফিগার করতে পারবেন যা নেক্সটক্লাউড সরাসরি কন্টেইনার থেকে ব্যবহার করবে। এটি সবই পরিবেশ ভেরিয়েবল ব্যবহার করে করা হয় যা `docker run` কমান্ড লাইনে অথবা আপনার `docker-compose` ফাইলে সংজ্ঞায়িত করা যেতে পারে।

  মেকফাইল তৈরি এবং আয়ত্ত করুন: আপনার প্রকল্পগুলির সংকলন স্বয়ংক্রিয় করুন

একবার MariaDB কন্টেইনার তৈরি হয়ে গেলে, আপনি এটি শুরু করতে এবং অ্যাক্সেস করতে পারবেন। আপনার সেটআপের উপর নির্ভর করে আপনি অন্য কোনও কন্টেইনার বা হোস্ট থেকে MySQL ক্লায়েন্ট অ্যাক্সেস করতে পারবেন। সেখান থেকে, আপনি অতিরিক্ত ডাটাবেস তৈরি করতে, অনুমতিগুলি সামঞ্জস্য করতে, অথবা নিয়মিত রক্ষণাবেক্ষণ করতে পারবেন।

পরবর্তী ধাপ হল সাধারণত নেক্সটক্লাউড কন্টেইনার স্থাপন করাlinuxserver/nextcloud ইমেজ অথবা অফিসিয়াল ইমেজ ব্যবহার করে। এই কন্টেইনারটি অভ্যন্তরীণ ডকার নেটওয়ার্কের মাধ্যমে MariaDB-এর সাথে সংযুক্ত হবে, IP ঠিকানার পরিবর্তে ডাটাবেস হোস্ট হিসেবে কন্টেইনার নাম (যেমন, "mariadb") ব্যবহার করবে।

একটি সাধারণ কৌশল হল স্থানীয়ভাবে নেক্সটক্লাউড কনফিগারেশন সম্পূর্ণ না করা। সরাসরি HTTP পোর্ট ব্যবহার করার পরিবর্তে, HTTPS এবং Let's Encrypt সার্টিফিকেট সহ বিপরীত প্রক্সি প্রস্তুত না হওয়া পর্যন্ত অপেক্ষা করুন। এইভাবে, প্রথমবার যখন আপনি পাবলিক URL অ্যাক্সেস করবেন, তখন আপনি ইতিমধ্যেই সুরক্ষিত প্রক্সির পিছনে চূড়ান্ত ইনস্টলেশনের সাথে কাজ করতে থাকবেন।

ডকারে Nginx এবং Let's Encrypt দিয়ে প্রক্সি বিপরীত করুন

আপনার হোম সার্ভার থেকে একাধিক পরিষেবা ইন্টারনেটে প্রকাশ করতে এলোমেলো পোর্ট না খুলে, সবচেয়ে সুবিধাজনক কাজ হল সামনে Nginx সহ একটি বিপরীত প্রক্সি স্থাপন করা, যা পোর্ট 443-এ HTTPS ট্র্যাফিক গ্রহণ করে এবং অনুরোধ করা ডোমেন বা সাবডোমেন অনুসারে বিভিন্ন অভ্যন্তরীণ পাত্রে বিতরণ করে।

linuxserver/letsencrypt ইমেজটি Nginx এবং সার্টিফিকেট ব্যবস্থাপনাকে একীভূত করে লেটস এনক্রিপ্ট SSL সার্টিফিকেট ব্যবহার করে, তাই কন্টেইনার নিজেই অনুরোধ, তৈরি এবং স্বয়ংক্রিয়ভাবে পুনর্নবীকরণ পরিচালনা করে। সাবডোমেনের মালিকানা সাধারণত HTTP (পোর্ট 80) অথবা DNS এর মাধ্যমে যাচাই করা হয়, যার জন্য DuckDNS একটি ভালো টুল।

প্রথমবার যখন আপনি Nginx + Let's Encrypt কন্টেইনারটি শুরু করবেনএই প্রক্রিয়াটি যাচাইকরণ এবং সার্টিফিকেট তৈরির কাজ করে। এটি সফলভাবে সম্পন্ন না হওয়া পর্যন্ত Nginx সম্পূর্ণরূপে কার্যকর হবে না। সার্টিফিকেটগুলি 90 দিনের জন্য বৈধ থাকবে এবং কন্টেইনারটি স্বয়ংক্রিয়ভাবে পুনর্নবীকরণের জন্য পরীক্ষা করবে, আগে থেকেই এটি করার চেষ্টা করবে।

যদি স্বয়ংক্রিয় পুনর্নবীকরণ ব্যর্থ হয় এবং 30 দিনের কম সময় বাকি থাকে সার্টিফিকেটের মেয়াদ শেষ করার জন্য, আপনাকে প্রাসঙ্গিক লগ পাথের (সাধারণত /config/log/letsencrypt) লগগুলি পরীক্ষা করে দেখতে হবে কী ভুল হচ্ছে: DNS সমস্যা, বন্ধ পোর্ট, ডোমেন পরিবর্তন ইত্যাদি।

পোর্টগুলির ক্ষেত্রে, স্ট্যান্ডার্ড অনুশীলন হল কন্টেইনারের পোর্ট 443 ম্যাপ করা। HTTPS অ্যাক্সেসের জন্য, আপনাকে রাউটার থেকে WAN এর পোর্ট 443 কে সার্ভারে ব্যবহৃত পোর্টে (উদাহরণস্বরূপ, 444) পুনঃনির্দেশিত করতে হবে, এবং সেখান থেকে কন্টেইনারের পোর্ট 443 এ পুনঃনির্দেশিত করতে হবে। পোর্ট 80 শুধুমাত্র HTTP যাচাইকরণের জন্য কঠোরভাবে প্রয়োজনীয়; যদি আপনি DNS এর মাধ্যমে যাচাই করেন, তাহলে আপনি এটি ছাড়াই করতে পারবেন যদি না আপনি স্বয়ংক্রিয় HTTP থেকে HTTPS পুনঃনির্দেশনা চান।

স্ট্যাটিক ওয়েব হোস্টিং এবং Nginx কনফিগারেশন

একবার আপনার Nginx কন্টেইনারটি Let's Encrypt সহ সঠিকভাবে কাজ করলেআপনি অন্য কিছু সেট আপ করার প্রয়োজন ছাড়াই স্ট্যাটিক ওয়েবসাইট হোস্ট করার জন্য এটি ব্যবহার করতে পারেন। আপনার HTML, CSS এবং JavaScript ফাইলগুলিকে হোস্ট ফোল্ডারে রাখুন যা আপনি কন্টেইনারের মধ্যে ওয়েবসাইট পাথে ম্যাপ করেছেন।

সাধারণ linuxserver/letsencrypt কনফিগারেশনেসমস্ত কনফিগারেশন এবং কন্টেন্ট ফাইল কন্টেইনারের মধ্যে /config পাথের অধীনে থাকে, যা আপনি সাধারণত সার্ভারে /home/user/appdata/letsencrypt এর মতো কিছুতে ম্যাপ করেন। ওয়েব ডকুমেন্টগুলি /config/www-তে স্থাপন করা হয় (উদাহরণস্বরূপ, একটি page1.html ফাইল যা HTTPS এর মাধ্যমে অ্যাক্সেসযোগ্য হবে)।

Nginx-এ প্রধান ডিফল্ট সাইট কনফিগারেশন এটি সাধারণত /config/nginx/default এ থাকে। এই ফাইলটি মুছে ফেলা ঠিক নয় কারণ কন্টেইনারটি পুনরায় চালু হলে এটি পুনরায় তৈরি হবে, তবে আপনি পোর্ট, পাথ, পুনঃনির্দেশ এবং সাধারণ আচরণ সামঞ্জস্য করতে এটি সম্পাদনা করতে পারেন।

ডিফল্টরূপে, কনফিগারেশনটি সাধারণত পোর্ট 443-এ শোনা হয় এবং /config/www ডকুমেন্ট রুট হিসেবে রাখুন। যদি আপনি পোর্ট 80-এ লিসেনিং সক্ষম করতে চান এবং সমস্ত HTTP ট্র্যাফিক HTTPS-এ পুনঃনির্দেশিত করতে চান, তাহলে আপনাকে ডিফল্ট কনফিগারেশনের শীর্ষে থাকা উপযুক্ত নির্দেশিকাগুলি আনকমেন্ট করতে হবে।

Nginx কনফিগারেশন ফাইলে যেকোনো পরিবর্তনের পরেনতুন কনফিগারেশন কার্যকর হওয়ার জন্য কেবল কন্টেইনারটি পুনরায় চালু করা যথেষ্ট। হোস্ট স্পর্শ করার বা কন্টেইনারের বাইরে পরিষেবাগুলি পুনরায় চালু করার কোনও প্রয়োজন নেই, যার ফলে আপনার হোম ওয়েব সার্ভারের বিশদ বিবরণ খুব দ্রুত এবং সহজে সংশোধন করা সম্ভব হবে।

প্রক্সির পিছনে নেক্সটক্লাউডকে সাবডোমেন হিসেবে রাখুন

ডকারে Nginx কে রিভার্স প্রক্সি হিসেবে ব্যবহারের একটি সুবিধা এটি হল nextcloud.yourdomain.duckdns.org এর মতো পরিষ্কার সাবডোমেনের মাধ্যমে বেশ কয়েকটি পরিষেবা অ্যাক্সেসযোগ্য করে তোলা, যাতে সেগুলিকে অদ্ভুত পোর্ট বা বিভ্রান্তিকর পথের সাথে মিশ্রিত না করেই ব্যবহার করা যায়।

linuxserver/letsencrypt ছবির সাধারণ কাঠামোতেআপনি /config/nginx/proxy-confs এ বিভিন্ন অ্যাপ্লিকেশনের জন্য কনফিগারেশন টেমপ্লেট পাবেন। Nextcloud এর জন্য, সাধারণত nextcloud.subdomain.conf.sample নামক একটি নমুনা ফাইল থাকে।

আপনার নেক্সটক্লাউড ইনস্ট্যান্সের জন্য প্রক্সি সক্রিয় করতেসেই উদাহরণ ফাইলটির নাম পরিবর্তন করে nextcloud.subdomain.conf রাখুন, আপনার যা প্রয়োজন তা সামঞ্জস্য করুন (পাথ, আসল Nextcloud কন্টেইনারের নাম যদি এটি মেলে না, ইত্যাদি) এবং letsencrypt কন্টেইনারটি পুনরায় চালু করুন যাতে Nginx নতুন কনফিগারেশন লোড করে।

  নতুন সিনোলজি বিস্টেশন প্লাস: ব্যক্তিগত, দ্রুত এবং নিরাপদ হোম স্টোরেজ

সেই মুহূর্ত থেকে, যদি আপনি প্রথমবারের মতো অ্যাক্সেস করেন https://nextcloud.yoursubdomain.duckdns.org এর মতো URL-এ Nextcloud ইনস্টলেশন স্ক্রিনটি দেখানো উচিত, যা ইতিমধ্যেই বিপরীত প্রক্সির মধ্য দিয়ে যাচ্ছে এবং Let's Encrypt দ্বারা জারি করা বৈধ SSL সার্টিফিকেট সহ।

নেক্সটক্লাউড প্রাথমিক সেটআপ ফর্মেআপনি পাসওয়ার্ড দিয়ে অ্যাডমিনিস্ট্রেটর ব্যবহারকারী তৈরি করবেন এবং MariaDB ডাটাবেস সংযোগের বিশদ পূরণ করবেন: ডাটাবেসের নাম (উদাহরণস্বরূপ nextcloud_db), ব্যবহারকারী (যেমন MYSQL_USER=nextcloud), নির্বাচিত পাসওয়ার্ড এবং হোস্ট ঠিকানা হিসেবে "mariadb" যদি এটি ডকার নেটওয়ার্কে ডাটাবেস কন্টেইনারের নাম হয়।

সেই মুহূর্ত থেকে, আপনার নেক্সটক্লাউডের সাথে সংযোগকারী যেকোনো ব্যবহারকারী এটি পোর্ট ৪৪৩-এর HTTPS-এর মাধ্যমে letsencrypt কন্টেইনারের মাধ্যমে এটি করবে এবং এটি অভ্যন্তরীণ নেটওয়ার্কের মাধ্যমে ট্র্যাফিককে Nextcloud কন্টেইনারে ফরোয়ার্ড করবে, যেখানে আবার এনক্রিপ্ট করার প্রয়োজন হবে না কারণ সবকিছু আপনার স্থানীয় অবকাঠামোর মধ্যেই থাকে।

ডকার ডেস্কটপের সাথে ফাইল, মাল্টিমিডিয়া এবং পাসওয়ার্ড সার্ভার

নেটওয়ার্ক এবং প্রক্সির সম্পূর্ণ প্রযুক্তিগত দিকগুলির বাইরেএকটি হোম সার্ভার তখনই উজ্জ্বল হয় যখন আপনি এটিকে দৈনন্দিন কাজে ব্যবহার শুরু করেন: ফাইল সংরক্ষণ করা, আপনার মিডিয়া লাইব্রেরি পরিচালনা করা, পাসওয়ার্ড সংরক্ষণ করা, অথবা ট্র্যাকার ব্লক করা এবং নেটওয়ার্ক স্তরে বিজ্ঞাপন দেওয়া।

একটি ফাইল সার্ভার হিসেবে, আপনি শেয়ার্ড ফোল্ডার মাউন্ট করতে পারেন আপনার পিসি, ল্যাপটপ, অথবা মোবাইল ডিভাইসে এবং সেগুলিকে নেটওয়ার্ক ড্রাইভের মতো ব্যবহার করুন। কন্টেইনারে স্থাপন করা নেক্সটক্লাউড বা ফাইলব্রাউজারের মতো সমাধানগুলি আপনার নিজস্ব ব্যক্তিগত ক্লাউড হিসাবে কাজ করে, যা গুগল ড্রাইভ বা ড্রপবক্সের বিকল্প, শেয়ার, প্রিভিউ এবং সিঙ্ক্রোনাইজ করার ক্ষমতা সহ।

ছবির জন্য, সিনোলজির মতো কিছু NAS ডিভাইস তাদের নিজস্ব অ্যাপ্লিকেশন নিয়ে আসে। খুবই ব্যবহারকারী-বান্ধব এবং সুসংহত। আপনি যদি একটি জেনেরিক ডকার সার্ভারে কাজ করেন, তাহলে আপনি গ্যালারি অ্যাপ্লিকেশন ব্যবহার করতে পারেন অথবা যেকোনো ডিভাইস থেকে ছবি পরিচালনা এবং দেখার জন্য নেক্সটক্লাউডের ক্ষমতা ব্যবহার করতে পারেন।

মাল্টিমিডিয়া ক্ষেত্রে, প্লেক্স, জেলিফিন বা এমবির মতো পাত্রগুলি এগুলো আপনাকে আপনার নিজস্ব সিনেমা, টিভি শো এবং সঙ্গীতের লাইব্রেরি দিয়ে একটি "হোম নেটফ্লিক্স" তৈরি করতে দেয়। অনেক NAS ডিভাইস এবং অফারগুলির জন্য Plex এর একটি নেটিভ সংস্করণ রয়েছে। অ্যাপস প্রায় সকল প্ল্যাটফর্মের জন্য; জেলিফিন এবং এমবিও দুর্দান্ত বিকল্প, বিশেষ করে যদি আপনি কোনও লাইসেন্স খরচ ছাড়াই বিনামূল্যে বা স্ব-হোস্টেড সমাধান চান।

স্বয়ংক্রিয় করতে ডাউনলোড মাল্টিমিডিয়া কন্টেন্ট-arr অ্যাপ্লিকেশনগুলির (Prowlarr, Sonarr, Radarr, Readarr…) ইকোসিস্টেম ট্রান্সমিশনের মতো টরেন্ট ক্লায়েন্টের সাথে মিলিত হয়ে নিখুঁতভাবে ফিট করে এবং ডকারে সুন্দরভাবে স্থাপন করা হয়। প্রতিটি পরিষেবা তার নিজস্ব কন্টেইনারে, সমস্ত শেয়ারিং ডাউনলোড এবং লাইব্রেরি ফোল্ডার।

অ্যাক্সেস সুরক্ষার ক্ষেত্রে, একটি স্ব-হোস্টেড পাসওয়ার্ড ম্যানেজার ভল্টওয়ার্ডেন (বিটওয়ার্ডেনের সাথে সামঞ্জস্যপূর্ণ একটি হালকা বাস্তবায়ন) আপনার শংসাপত্র নিয়ন্ত্রণে রাখার জন্য একটি রত্ন। এটি ব্রাউজার এক্সটেনশন এবং মোবাইল অ্যাপের সাথে একীভূত হয় এবং ব্রাউজারে সরাসরি পাসওয়ার্ড সংরক্ষণের ঝুঁকি এড়ায়, যা হ্যাকিংয়ের ঝুঁকি থাকলে অত্যন্ত অনুচিত। ম্যালওয়্যার.

পাই-হোল, ফিল্টারিং ডিএনএস এবং অন্যান্য উন্নত ব্যবহার

ডকারের সাথে হোম সার্ভারের জন্য আরেকটি খুবই ব্যবহারিক ব্যবহার এর মধ্যে পাই-হোলের মতো একটি ফিল্টারিং ডিএনএস স্থাপন করা জড়িত। যদিও এটি মূলত বিজ্ঞাপন ব্লক করার জন্য ডিজাইন করা হয়েছিল, এটি ট্র্যাকার এবং ডোমেন ট্র্যাক করার জন্য সমানভাবে কার্যকর যা কোনও সুবিধা দেয় না এবং আপনার ব্রাউজিং অভ্যাস সম্পর্কে ডেটা সংগ্রহ করে।

একটি পাত্রে পাই-হোল দিয়ে আপনি আপনার নেটওয়ার্ক কনফিগার করতে পারেন সমস্ত ডিভাইস সেই DNS ব্যবহার করছে কিনা তা নিশ্চিত করার জন্য, হয় প্রতিটি ডিভাইসকে তার IP ঠিকানার দিকে নির্দেশ করে অথবা DHCP এর মাধ্যমে Pi-hole IP ঠিকানা বিতরণ করার জন্য রাউটারটি কনফিগার করে। এইভাবে, সমস্ত ব্রাউজিং ইন্টারনেটে পৌঁছানোর আগে সেই ফিল্টারের মধ্য দিয়ে যাবে।

Firebog-এর মতো তালিকাগুলি এগুলো আপনাকে ব্লক করা জিনিসগুলিকে ঠিক করার সুযোগ দেয়: অনুপ্রবেশকারী বিজ্ঞাপন, ম্যালওয়্যার ডোমেন, ট্র্যাকার ইত্যাদি। এটি পরীক্ষা-নিরীক্ষা এবং আপনার জন্য সঠিক ভারসাম্য খুঁজে বের করার বিষয়, যাতে আপনি খুব বেশি ব্লক করে ওয়েবসাইটগুলি ভেঙে না ফেলেন বা সবকিছুকে ডিফল্টভাবে চলতে না দেন।

সেখান থেকে, ডকারের সাথে একটি হোম সার্ভারের সীমা এটি কেবল আপনার কল্পনা (এবং হার্ডওয়্যার) দ্বারা সীমাবদ্ধ। আপনি আপনার বন্ধুদের জন্য গেম সার্ভার, NodeJS ব্যবহার করে ডেভেলপমেন্ট ল্যাব, MongoDB ডাটাবেস, সম্পূর্ণ MEAN পরিবেশ, ক্লাউডে রেকর্ডিং সিঙ্ক করে এমন নিরাপত্তা ক্যামেরা সিস্টেম এবং আরও অনেক কিছু সেট আপ করতে পারেন।

যদি আপনি বাইরে থেকে নিরাপদ সংযোগ সম্পর্কে চিন্তিত হনWireGuard বা ZeroTier কন্টেইনার যোগ করলে আপনি আপনার হোম নেটওয়ার্কে এমনভাবে অ্যাক্সেস করতে পারবেন যেন আপনি ভেতরে আছেন, অথবা আপনার বন্ধুদের আপনার গেম সার্ভার এবং অন্যান্য পরিষেবাগুলিতে নিয়ন্ত্রিত অ্যাক্সেস অফার করতে পারবেন, ইন্টারনেটে সবকিছু খোলাখুলিভাবে প্রকাশ না করেই।

ডকার বা ডকার ডেস্কটপের সাথে একটি হোম সার্ভার (পুরানো পিসি, NAS বা ক্লাউড) একত্রিত করা এটি আপনাকে একটি নমনীয়, স্কেলেবল এবং তুলনামূলকভাবে সহজে রক্ষণাবেক্ষণযোগ্য প্ল্যাটফর্ম দেয় যেখানে আপনি পরিষেবাগুলিকে কেন্দ্রীভূত করতে পারেন, নতুন প্রযুক্তি নিয়ে পরীক্ষা-নিরীক্ষা করতে পারেন এবং আপনার ডেটা, অ্যাপ্লিকেশন এবং আপনার হোম নেটওয়ার্কের উপর আরও নিয়ন্ত্রণ রাখতে পারেন, ধীরে ধীরে একটি সাধারণ ফাইল সার্ভার থেকে একটি সত্যিকারের ব্যক্তিগত ডিজিটাল অপারেশন সেন্টারে পরিণত হতে পারেন।