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

আপনি যদি গিটহাব বা গিটল্যাবের মতো বড় প্ল্যাটফর্মগুলোর নিয়মকানুন, খরচ বা প্রাপ্যতার উপর নির্ভর করতে করতে ক্লান্ত হয়ে পড়েন, তবে নিজের পরিকাঠামো তৈরি করাই হলো ভবিষ্যতের পথ। বাড়িতে বা নিজের অফিসে একটি গিট সার্ভার থাকলে আপনিই সাফল্যের চাবিকাঠি: কোডের উপর সম্পূর্ণ নিয়ন্ত্রণ , সার্বিক অ্যাক্সেস ব্যবস্থাপনা এবং আপনার ব্যক্তিগত রিপোজিটরিগুলোতে কোনো তৃতীয় পক্ষের সীমাবদ্ধতা না থাকার মানসিক শান্তি।
উপলব্ধ সমস্ত বিকল্পের মধ্যে, Gitea একটি রত্নের মতো স্বতন্ত্র। এটি Go-তে লেখা একটি টুল, যা এটিকে অবিশ্বাস্যভাবে হালকা এবং দ্রুত করে তুলেছে ; যারা একটি গিট সার্ভারের জন্য ১৬ জিবি র্যাম উৎসর্গ করতে চান না, তাদের জন্য এটি আদর্শ। GitLab-এর মতো নয়, যা একটি বৈশিষ্ট্য-সমৃদ্ধ কিন্তু সম্পদ-নিবিড় বিশাল জাহাজ, Gitea একটি স্পিডবোটের মতো: এটি সরাসরি মূল কাজে যায়, খুব কম সম্পদ ব্যবহার করে এবং যারা GitHub ব্যবহার করেছেন তাদের জন্য একটি অত্যন্ত পরিচিত ইন্টারফেস প্রদান করে।
দ্রুত তুলনা: গিটিয়া, গিটল্যাব এবং ফোর্জো

ইনস্টলেশন শুরু করার আগে, আপনি কী করতে যাচ্ছেন তা জেনে নেওয়া ভালো। GitLab হলো এন্টারপ্রাইজ ব্যবহারের জন্য একটি আদর্শ বিকল্প, যা বড় দলগুলোর জন্য উপযুক্ত যাদের ইন্টিগ্রেটেড CI/CD প্রয়োজন, কিন্তু এর জন্য শক্তিশালী হার্ডওয়্যার দরকার। অন্যদিকে, Gitea খুব কম মেমোরি ব্যবহার করার কারণে মাঝারি মানের সার্ভার বা ব্যক্তিগত প্রোজেক্টের জন্য সেরা পছন্দ । সবশেষে রয়েছে Forgejo, যা Gitea-এর একটি কমিউনিটি ফর্ক; আপনি যদি মুক্ত সফটওয়্যারের একনিষ্ঠ সমর্থক হন এবং কর্পোরেট প্রভাব ছাড়া উন্মুক্ত শাসনব্যবস্থা পছন্দ করেন, তবে এটিই আপনার জন্য বিকল্প।
শুরু করার আগে আপনার যা প্রয়োজন

সবকিছু যাতে মসৃণভাবে চলে, তা নিশ্চিত করতে আপনার কাছে রুট অ্যাক্সেসসহ একটি লিনাক্স সার্ভার (উবুন্টু, ডেবিয়ান বা রকি লিনাক্স) আছে কিনা তা দেখে নিন। এছাড়াও, মেশিনটিতে গিট (Git) ইনস্টল করা থাকা অপরিহার্য। যদিও গিটিয়া (Gitea) এসকিউলাইট (SQLite) ব্যবহারের সুযোগ দেয়, প্রোডাকশন এনভায়রনমেন্টের জন্য ডেটার স্থিতিশীলতা নিশ্চিত করতে পোস্টগ্রেসকিউএল (PostgreSQL) বা মারিয়াডিবি (MariaDB) ব্যবহারের জোরালো পরামর্শ দেওয়া হয় ।
সিস্টেমে ভিত্তি প্রস্তুত করা

নিরাপত্তাজনিত কারণে রুট হিসেবে Gitea চালানো ভালো ধারণা নয়। একটি ডেডিকেটেড ইউজার তৈরি করাই শ্রেয়। আপনি এই কমান্ডটি চালিয়ে এটি করতে পারেন। adduser --system --shell /bin/bash --group --home /home/gitea gitea। এটি ব্যবহার করা অপরিহার্য /bin/bash শেল হিসেবে কারণ Gitea-কে SSH-এর মাধ্যমে git-shell-এর সাথে যোগাযোগ করতে হয়। যদি আপনার কম্পিউটারে আগে থেকে Git ইনস্টল করা না থাকে, তবে একটি সহজ উপায় হলো... apt install git সমস্যাটি দ্রুত সমাধান করবে।
বাইনারি ইনস্টলেশন এবং ফোল্ডার কাঠামো

Gitea বিভিন্ন উপায়ে ইনস্টল করা যায়, কিন্তু বাইনারি সংস্করণটিই সবচেয়ে সহজ। এর অফিসিয়াল ওয়েবসাইট থেকে সর্বশেষ স্থিতিশীল সংস্করণটি খুঁজে বের করে [পদ্ধতি/পদ্ধতি] ব্যবহার করে ডাউনলোড করুন। wget en /usr/local/bin/giteaপরে দিলে `chmod +x` ব্যবহার করে অনুমতি কার্যকর করুন।প্রোগ্রামটি সঠিকভাবে কাজ করার জন্য, নির্দিষ্ট কিছু ডিরেক্টরি তৈরি করতে হবে: /etc/gitea কনফিগারেশন এবং এর জন্য /var/lib/gitea কাস্টম ডেটা, লগ এবং ফাইলের জন্য। অ্যাডজাস্ট করতে ভুলবেন না। সম্পত্তির অনুমতি (chown) যাতে ব্যবহারকারী gitea তাদের কাছে লিখতে পারে।
ডাটাবেস কনফিগারেশন
আপনি যদি PostgreSQL বেছে নেন, তাহলে ডেটাবেসের পাশাপাশি আপনাকে প্যাকেজটি ইনস্টল করতে হবে এবং একটি শক্তিশালী পাসওয়ার্ড দিয়ে একটি নির্দিষ্ট রোল তৈরি করতে হবে। giteadb UTF8 এনকোডিং সহ। আপনি যদি MariaDB পছন্দ করেন, তবে প্রক্রিয়াটি একই রকম: আপনি ডাটাবেস এবং ব্যবহারকারী তৈরি করবেন, এবং নিশ্চিত করবেন যে... স্টোরেজ ইঞ্জিন হলো InnoDB এবং সার্ভারটি ৩৩০৬ পোর্টে লিসেন করছে।
সিস্টেমডি দিয়ে অটোমেশন
প্রতিবার সার্ভার রিস্টার্ট করার সময় Gitea ম্যানুয়ালি চালু করার ঝামেলা এড়াতে, একটি ড্রাইভ ফাইল তৈরি করাই সবচেয়ে ভালো। /etc/systemd/system/gitea.serviceএই ফাইলটি সিস্টেমকে জানায় যে Gitea অবশ্যই একটি পরিষেবা হিসাবে চালাতে হবে।ব্যবহারকারী, গ্রুপ এবং বাইনারি পাথ নির্ধারণ করুন। একবার তৈরি হয়ে গেলে, কেবল চালান। systemctl enable --now gitea এবং সার্ভারটি ডিফল্টরূপে ৩০০০ পোর্টে শোনা শুরু করবে।
ওয়েব ইন্টারফেসের সাথে প্রথম যোগাযোগ
Onোকার পর http://tu-ip:3000এরপর আপনি সেটআপ উইজার্ডটি দেখতে পাবেন। এখানেই আপনি (হোস্ট, ইউজারনেম এবং পাসওয়ার্ড উল্লেখ করে) ডাটাবেস সংযোগ করবেন এবং সংজ্ঞায়িত করবেন। সাধারণ সাইট সেটিংসযেমন ইনস্ট্যান্সের নাম এবং বেস ইউআরএল। এছাড়াও এখন এসএসএইচ সার্ভার কনফিগার করার এবং সিদ্ধান্ত নেওয়ার সময় যে আপনি চান কিনা যে যে কেউ নিবন্ধন করতে পারুক, নাকি আপনি পছন্দ করেন... সর্বজনীন লগিং নিষ্ক্রিয় করুন সার্ভারটি গোপন রাখতে।
Nginx-এর মাধ্যমে নিরাপত্তা ও পেশাদার অ্যাক্সেস
পোর্ট 3000-এর মাধ্যমে Gitea অ্যাক্সেস করা অদক্ষ এবং অনিরাপদ। এর আদর্শ সমাধান হলো Nginx দিয়ে একটি রিভার্স প্রক্সি সেট আপ করা । এটি ব্যবহারকারীদের একটি ডোমেইনের (যেমন, git.yourdomain.com) মাধ্যমে সাইটটি অ্যাক্সেস করার সুযোগ দেয় এবং Let's Encrypt SSL সার্টিফিকেট ব্যবহার করে সমস্ত ট্র্যাফিক এনক্রিপ্ট করা নিশ্চিত করে । Nginx কনফিগারেশনে, ক্লায়েন্টের আসল আইপি অ্যাড্রেস হারানোর ঝুঁকি এড়াতে X-Forwarded-For হেডার যোগ করে পোর্ট 443 থেকে Gitea-এর পোর্ট 3000-এ ট্র্যাফিক রিডাইরেক্ট করুন।
ব্যবহারকারী ব্যবস্থাপনা এবং কোড স্থানান্তর
আপনি যদি ওপেন লগিং নিষ্ক্রিয় করে থাকেন, তাহলে কমান্ড লাইন থেকে এই কমান্ডটি ব্যবহার করে প্রথম অ্যাডমিনিস্ট্রেটর তৈরি করতে পারেন। gitea admin user createএকবার ভিতরে গেলে আপনি আপনার যোগ করতে পারেন পাবলিক SSH কী প্রতিবার পাসওয়ার্ড না দিয়েই রিপোজিটরি ক্লোন করার জন্য ইউজার প্রোফাইলে একটি অপশন রয়েছে। আপনার যদি আগে থেকেই গিটহাবে কোড থাকে, তাহলে Gitea-তে একটি বিকল্প ব্যবস্থা আছে। সমন্বিত মাইগ্রেশন টুল এটি স্বয়ংক্রিয়ভাবে শুধু কোডই নয়, ইস্যু এবং ট্যাগগুলোও ইম্পোর্ট করে।
রক্ষণাবেক্ষণ এবং টিউনিং
Gitea রক্ষণাবেক্ষণ করা অত্যন্ত সহজ। আপডেট করতে, কেবল নতুন বাইনারিটি ডাউনলোড করুন, পুরানোটি প্রতিস্থাপন করুন এবং পরিষেবাটি পুনরায় চালু করুন। ব্যাকআপের জন্য, এই কমান্ডটি ব্যবহার করুন। gitea dump তোমার সেরা বন্ধু, যেহেতু এটি একটি তৈরি করে সবকিছু সহ সংকুচিত ফাইলডাটাবেস, কনফিগারেশন এবং রিপোজিটরি। ইমেইলের জন্য, আপনি একটি এক্সটার্নাল SMTP সার্ভার (যেমন Gmail) কনফিগার করতে পারেন অথবা পুল রিকোয়েস্ট ও অ্যালার্টের নোটিফিকেশন পাওয়ার জন্য সার্ভারে Postfix ইনস্টল করতে পারেন।
Gitea প্রয়োগ করলে আপনি একটি শক্তিশালী, হালকা ও সম্পূর্ণ ব্যক্তিগত ভার্সন কন্ট্রোল প্ল্যাটফর্ম পাবেন, যা বাইনারি-ভিত্তিক ইনস্টলেশন, একটি অপ্টিমাইজড ডেটাবেস এবং HTTPS-এর মাধ্যমে ট্র্যাফিকের নিরাপত্তা নিশ্চিতকারী একটি রিভার্স প্রক্সির সাহায্যে বাহ্যিক পরিষেবার উপর নির্ভরতা দূর করে।