मुफ्त ऑन-प्रेम जिट सर्वर चुनना - गिटिया जीत जाता है!

अच्छा ओपन सोर्स जीटी सर्वर चुनने का प्रयास कर रहे हैं।

Page content

अपने प्रोजेक्ट्स को ओपन क्लाउड जीटी प्रोवाइडर्स से दूर करने के बारे में सोच रहे हैं और स्वयं-होस्टिंग के लिए अंतर्निहित जीटी सर्वर को स्थानीय रूप से चलाने के बारे में सोच रहे हैं?

gitea-site

सर्वर चुनें

अपना अपना जीटी सर्वर चलाना बहुत कठिन नहीं होना चाहिए, सही?

अब एक छोटी सी सूची के विकल्पों में से एक मुफ्त जीटी सर्वर चुनें। बोनोबो गॉग्स वर्सस गिटिया वर्सस गिटलैब.

हालांकि बोनोबो मुफ्त है लेकिन विंडोज़ के लिए है और लिनक्स के लिए कोई संस्करण नहीं है।

गिटलैब फीचर-विस्तृत और संसाधन-भारी है, यह एक हाथ में अनुभव है। यह एक वाणिज्यिक उत्पाद है लेकिन एक मुफ्त संस्करण भी है

गॉग्स बहुत हल्का है, मैंने इसका परीक्षण किया है और यह अच्छा काम करता है, लेकिन इसमें कंटेनर रजिस्ट्री नहीं है।

मेरे अनुसार तुलना गिटिया के पक्ष में है।

गिटिया और पोस्टग्रेसक्व डॉकराइज्ड

https://docs.gitea.com/next/installation/install-with-docker

cd ~
mkdir gitea
cd gitea

docker-compose.yml:

version: "3"

networks:
  gitea:
    external: false

services:
  server:
    image: gitea/gitea:latest
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=postgres
      - GITEA__database__HOST=db:5432
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=gitea
    restart: always
    networks:
      - gitea
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "222:22"
    depends_on:
      - db

  db:
    image: postgres:14
    restart: always
    environment:
      - POSTGRES_USER=gitea
      - POSTGRES_PASSWORD=gitea
      - POSTGRES_DB=gitea
    networks:
      - gitea
    volumes:
      - ./postgres:/var/lib/postgresql/data

फिर

docker-compose up -d

http://localhost:3000/ पर जाएं

बंद करने के लिए

docker-compose down

वॉल्यूम्स बने रहेंगे

संसाधन उपयोग

संसाधन कंटेनर स्टैट्स

दिखाता है कि कंटेनर 260 मेगाबाइट रैम और कुछ सीपीयू लेता है।

डॉकर इमेज स्टैट्स

डॉकर इमेज आकार कुल 583 मेगाबाइट है। इसमें से 422 मेगाबाइट पोस्टग्रेस:14 इमेज है। यदि संसाधन सीमित हैं तो पोस्टग्रेस:14-अल्पाइन इमेज 239 मेगाबाइट लेता है, यह भी काम कर सकता है।

एनोट। 10 से अधिक रिपोजिटरीज को गिटिया में माइग्रेट करने के बाद, कुछ फॉर्किंग और क्लोनिंग गिटिया कंटेनर अकेले अब 420 मेगाबाइट रैम का उपयोग कर रहा है। इस पर नज़र रखने की आवश्यकता है।

दो रिपोजिटरीज को सिंक करें

https://docs.gitea.com/next/usage/repo-mirror

पुश और पुल कर सकते हैं।

पुल

  • शीर्ष दाएं मेनू में “नई माइग्रेशन” को चुनें।
  • दूरस्थ रिपोजिटरी सेवा का चयन करें।
  • एक रिपोजिटरी यूआरएल दर्ज करें।
  • यदि रिपोजिटरी के लिए प्रमाणीकरण आवश्यक है तो अपनी प्रमाणीकरण जानकारी दर्ज करें।
  • चेकबॉक्स को चेक करें: यह रिपोजिटरी एक मिरर होगा।
  • माइग्रेट रिपोजिटरी को सेवा करने के लिए चुनें।

अब रिपोजिटरी दूरस्थ रिपोजिटरी से अक्सर मिरर करता है। आप रिपोजिटरी सेटिंग्स में “अब सिंक करें” चुनकर एक बल्क रिसिंक कर सकते हैं।

केवल उन रिपोजिटरीज के लिए पुल मिररिंग सेटअप कर सकते हैं जो अभी तक अपने इंस्टैंस पर मौजूद नहीं हैं। एक बार रिपोजिटरी बन जाने के बाद, आप इसे पुल मिरर में बदल नहीं सकते।

एचटीटीपीएस कॉन्फ़िग

एसएसएल कॉन्फ़िग में अधिक है: https://docs.gitea.com/next/administration/https-setup

लेकिन हम अब इसके लिए कोशिश कर रहे हैं (गिटिया साइट से लिया गया):

बिल्ट-इन सर्वर का उपयोग करना

एचटीटीपीएस को योग्य करने से पहले, आपके पास वैध एसएसएल/टीएलएस सर्टिफिकेट होना चाहिए। आप मूल्यांकन और परीक्षण के लिए स्व-जनित सर्टिफिकेट का उपयोग कर सकते हैं। कृपया निम्न आदेश चलाएं:

gitea cert --host [HOST]

स्व-हस्ताक्षरित सर्टिफिकेट जनरेट करने के लिए।

यदि आप सर्वर पर एपैच या एंजिनएक्स का उपयोग कर रहे हैं, तो रिवर्स प्रॉक्सी गाइड की जांच करना अनुरोध करते हैं।

Gitea के बिल्ट-इन एचटीटीपीएस समर्थन का उपयोग करने के लिए, आपको अपने app.ini फ़ाइल को बदलना होगा:

[server]
PROTOCOL  = https
ROOT_URL  = https://git.example.com:3000/
HTTP_PORT = 3000
CERT_FILE = cert.pem
KEY_FILE  = key.pem

ध्यान दें कि यदि आपका सर्टिफिकेट एक तीसरे पक्ष के सर्टिफिकेट अथॉरिटी द्वारा हस्ताक्षरित है (अर्थात, स्व-हस्ताक्षरित नहीं), तो cert.pem में सर्टिफिकेट चेन होना चाहिए। सर्वर सर्टिफिकेट cert.pem में पहला प्रविष्टि होना चाहिए, अगर कोई हो तो मध्यस्थों के क्रम में। मूल सर्टिफिकेट को शामिल करने की आवश्यकता नहीं है क्योंकि एक जोड़ता हुआ क्लाइंट पहले से ही इसके साथ विश्वास संबंध स्थापित करने के लिए आवश्यक है। अधिक जानकारी के लिए कॉन्फ़िग चीट शीट के बारे में जांचें।

CERT_FILE या KEY_FILE क्षेत्र के लिए, यदि यह एक सापेक्ष मार्ग है, तो यह GITEA_CUSTOM परिवेश चर के संबंध में है। यह एक निरपेक्ष मार्ग भी हो सकता है।

एचटीटीपी रीडायरेक्शन सेटअप करें Gitea सर्वर केवल एक पोर्ट सुन सकता है; एचटीटीपी अनुरोधों को एचटीटीपीएस पोर्ट पर रीडायरेक्ट करने के लिए, आपको एचटीटीपी रीडायरेक्शन सेवा को सक्षम करना होगा:

[server]
REDIRECT_OTHER_PORT = true
; रीडायरेक्शन सेवा को सुनने के लिए पोर्ट
PORT_TO_REDIRECT = 3080

यदि आप डॉकर का उपयोग कर रहे हैं, तो यह पोर्ट अपने docker-compose.yml फ़ाइल में सेट करें।

रिवर्स प्रॉक्सी का उपयोग करना

इस पोस्ट में: Gitea-ssl मैं एपैच को टीएलएस टर्मिनेटिंग रिवर्स प्रॉक्सी के रूप में इस्तेमाल कर रहा हूं।

काम करने वाला

एसएसई कॉन्फ़िग: https://docs.gitea.com/next/installation/install-with-docker

बैकअप-रिस्टोर टेस्ट।

उपयोगी लिंक