सामग्री पर जाएँ

Linux ​

Linux पर Arkvory चलाने के दो तरीके हैं:

  • पैकेज Arkvory-amd64.deb या Arkvory-x86_64.rpm। अनुशंसित। यह systemd सेवाएँ और एक समर्पित PostgreSQL क्लस्टर इंस्टॉल करता है जिसे Arkvory प्रबंधित करता है। आपका पैकेज प्रबंधक PostgreSQL प्रोग्राम प्रदान करता है।
  • स्क्रिप्ट install.sh। यह वही सेवाएँ इंस्टॉल करती है, पर मौजूदा PostgreSQL सर्वर इस्तेमाल करती है। यह arm64 भी समर्थित करती है। मौजूदा PostgreSQL इस्तेमाल करें देखें।

Docker के लिए, Docker Compose देखें। कंसोल के पहले परिचय के लिए, त्वरित शुरुआत देखें।

आवश्यकताएँ ​

मदआवश्यकता
प्रोसेसरपैकेजों के लिए x64। arm64 पैकेज नहीं हैं: arm64 पर install.sh इस्तेमाल करें
इनिट सिस्टमsystemd। OpenRC, runit और अन्य इनिट सिस्टम समर्थित नहीं हैं
C लाइब्रेरीglibc 2.28 या बाद का। Alpine Linux (musl) समर्थित नहीं है
परीक्षित वितरण.deb के लिए Ubuntu 24.04, .rpm के लिए Fedora 44। नीचे दी गई निर्भरताएँ पूरी करने वाले अन्य systemd वितरणों की जाँच नहीं की गई
.deb की निर्भरताएँpostgresql 16 या बाद का, systemd, python3, ca-certificates, libc6 2.28 या बाद का, libstdc++6, libgcc-s1, libatomic1
.rpm की निर्भरताएँpostgresql-server 16 या बाद का, systemd, python3, ca-certificates, glibc 2.28 या बाद का, libstdc++, libatomic
PostgreSQL प्रोग्रामसंस्करण 16 से 19। इंस्टॉलेशन चरण /usr/lib/postgresql/*/bin, /usr/pgsql-*/bin, /usr/bin और /usr/lib/pgsql/bin खोजता है और जो सबसे ऊँचा संस्करण मिलता है उसे लेता है। यदि आपका वितरण केवल पुराना संस्करण देता है, तो पहले नया PostgreSQL रिपॉज़िटरी जोड़ें
खाताroot, या ऐसा उपयोगकर्ता जो sudo चला सके
खाली पोर्ट127.0.0.1 पर 8080, और 54329 या 45329-45348 में से एक
फ़ाइल स्टोरेजहार्ड लिंक समर्थित करने वाला स्थानीय फ़ाइल सिस्टम। नेटवर्क शेयर इस्तेमाल न करें

पैकेज में Node.js 24 है। इसे इंस्टॉल करने के लिए आपके पैकेज प्रबंधक की निर्भरताओं के अलावा किसी इंटरनेट पहुँच की ज़रूरत नहीं।

पैकेज कभी मौजूदा PostgreSQL क्लस्टर या सेवा नहीं बदलता। Arkvory PostgreSQL प्रोग्रामों से अपना क्लस्टर शुरू करता है।

पैकेज इंस्टॉल करें ​

  1. GitHub Releases से अपने वितरण का पैकेज डाउनलोड करें, साथ ही उसी रिलीज़ का native-linux.json।
  2. पैकेज के SHA-256 की तुलना native-linux.json में दिए मान से करें। पैकेज प्रकाशक कुंजी से हस्ताक्षरित नहीं हैं, इसलिए यह जाँच आपने जो डाउनलोड किया उसका एकमात्र प्रमाण है।
  3. पैकेज इंस्टॉल करें। फ़ाइल नाम के आगे ./ रखें: यह पैकेज प्रबंधक को बताता है कि फ़ाइल स्थानीय है। Debian और Ubuntu पर:
bash
sudo apt install ./Arkvory-amd64.deb

Fedora और RPM-संगत सिस्टम पर:

bash
sudo dnf install ./Arkvory-x86_64.rpm

पैकेज प्रबंधक निर्भरताएँ इंस्टॉल करता है, फिर Arkvory स्वयं कॉन्फ़िगर होता है। यह:

  1. Node.js को /opt/proanima-arkvory/runtime/node पर कॉपी करता है,
  2. दोनों सेवा खाते, विन्यास, कुंजियाँ और पुनर्प्राप्ति कुंजी बनाता है,
  3. PostgreSQL क्लस्टर बनाता और शुरू करता है और डेटाबेस माइग्रेशन चलाता है,
  4. सेवाएँ और अपडेट टाइमर पंजीकृत और शुरू करता है,
  5. API के लगातार तीन बार अपनी रेडीनेस जाँच का उत्तर देने तक प्रतीक्षा करता है।

अंत में यह कंसोल का पता और पुनर्प्राप्ति कुंजी का पथ छापता है। यदि कोई चरण विफल हो, तो इंस्टॉलेशन त्रुटि के साथ रुक जाता है। समस्या निवारण देखें।

इंस्टॉलेशन के बाद स्वचालित अपडेट बंद हैं। उन्हें चालू करने के लिए, अपडेट देखें।

पैकेज क्या बनाता है ​

फ़ाइलें और डायरेक्टरियाँ ​

पथसामग्री
/usr/lib/proanima-arkvory/पैकेज पेलोड: Node.js, रिलीज़ फ़ाइलें और इंस्टॉलर। पैकेज के स्वामित्व में
/usr/bin/arkvoryप्रबंधन कमांड। arkvory कमांड देखें
/usr/share/applications/arkvory.desktopमेनू प्रविष्टि जो डेस्कटॉप पर कंसोल खोलती है। बिना डेस्कटॉप वाला सर्वर इसे इस्तेमाल नहीं करता
/opt/proanima-arkvory/इंस्टॉलेशन रूट: विन्यास, डेटा, डेटाबेस, हर संस्करण का प्रोग्राम कोड। इसका लेआउट इंस्टॉलेशन चुनें में वर्णित है
/etc/systemd/system/arkvory-*.service, arkvory-update.timerसेवा यूनिट्स और अपडेट टाइमर

रूट root:arkvory के साथ मोड 0711 है। इसके भीतर, config/ 0750 root:arkvory है, data/ और logs/ arkvory के हैं, और database/ मोड 0700 के साथ arkvory-db का है। पुनर्प्राप्ति कुंजी और डेटाबेस पासवर्ड फ़ाइलें केवल root पढ़ सकता है।

खाते ​

खाताचलाता हैनोट्स
arkvoryAPI, वर्कर, बैकअप एजेंटसिस्टम खाता, कोई लॉगिन शेल नहीं, होम /opt/proanima-arkvory/data
arkvory-dbडेटाबेससिस्टम खाता, कोई लॉगिन शेल नहीं। API खाता डेटाबेस फ़ाइलें नहीं पढ़ सकता

सेवाएँ ​

यूनिटइस रूप में चलता हैरीस्टार्ट नीति
arkvory-databasearkvory-dbon-failure, 10 सेकंड बाद
arkvory-apiarkvoryalways, 10 सेकंड बाद
arkvory-workerarkvoryalways, 10 सेकंड बाद
arkvory-backuparkvoryalways, 10 सेकंड बाद
arkvory-update.timerroot के रूप में arkvory-update.service शुरू करता हैहर मिनट। जॉब अपडेट अनुरोध और रिलीज़ जाँचता है

सभी यूनिट्स बूट पर शुरू होती हैं (multi-user.target)। वे रुकने के लिए 120 सेकंड देती हैं। वे NoNewPrivileges, निजी /tmp, अपनी डायरेक्टरियों के बाहर रीड-ओनली फ़ाइल सिस्टम और /home तक कोई पहुँच के बिना चलती हैं। API और वर्कर रूट के केवल data/, logs/ और updates/inbox/ में लिख सकते हैं। बैकअप एजेंट स्टोरेज पढ़ता है और केवल बैकअप स्टोरेज में लिखता है। चूँकि /home यूनिट्स से छिपा है, प्रमाणपत्र, बैकअप स्टोरेज या डेटा डायरेक्टरी कभी होम डायरेक्टरी के अंतर्गत न रखें।

आपके अनुरोध के बिना रुकी सेवा 10 सेकंड बाद फिर शुरू हो जाती है। जिस प्रोसेस का मुख्य थ्रेड 60 सेकंड तक हैंग रहता है, वह स्वयं समाप्त होकर फिर शुरू हो जाता है। केवल विफल रेडीनेस जाँच सेवा को रीस्टार्ट नहीं करती। स्वतः पुनर्प्राप्ति देखें।

पोर्ट ​

पोर्टउपयोगएक्सपोज़र
8080/TCPAPI और कंसोलकेवल 127.0.0.1, जब तक आप HTTPS कॉन्फ़िगर न करें
54329/TCPप्रबंधित PostgreSQL क्लस्टरकेवल 127.0.0.1। इंस्टॉलेशन के समय 54329 लिया हुआ हो तो 45329-45348 में से पहला खाली पोर्ट; यह database/settings.json में रखा जाता है

पहला शुरू और शुरुआती चरण ​

  1. जाँचें कि सेवाएँ चल रही हैं:

    bash
    systemctl status arkvory-database arkvory-api arkvory-worker arkvory-backup
  2. पुनर्प्राप्ति कुंजी पढ़ें। केवल root इसे पढ़ सकता है।

    bash
    sudo cat /opt/proanima-arkvory/config/bootstrap-token.txt
  3. http://127.0.0.1:8080/console/#onboarding खोलें। किसी दूरस्थ सर्वर पर, पहले पोर्ट अग्रेषित करें और अपने कंप्यूटर पर पता खोलें:

    bash
    ssh -L 8080:127.0.0.1:8080 admin@arkvory.example
  4. कंसोल में शुरुआत खोलें और पहला स्वामी बनाएँ का विस्तार करें। कुंजी को पुनर्प्राप्ति कुंजी में चिपकाएँ, स्वामी का नाम और कम से कम 12 अक्षरों का पासवर्ड दर्ज करें, और स्वामी बनाएँ चुनें। नाम में 3 से 64 अक्षर हैं: लैटिन अक्षर, अंक, बिंदु, डैश या अंडरस्कोर।

  5. नए नाम और पासवर्ड से साइन इन करें।

स्वामी पहला व्यवस्थापक है। पुनर्प्राप्ति कुंजी सर्वर पर रहती है: फ़ाइल को न हटाएँ, और इसे क्लाइंट या CI सिस्टम पर न कॉपी करें। इंस्टॉलेशन टूल इसे पढ़ते हैं। दैनिक काम के लिए, खाते और सेवा कुंजियाँ बनाएँ। खाते और पहुँच और सुरक्षा देखें।

दूसरे कंप्यूटरों से क्लाइंट जुड़ने से पहले, HTTPS कॉन्फ़िगर करें। फिर बैकअप स्टोरेज जोड़ें और पहला बैकअप चलाएँ: बैकअप देखें।

अपने कंप्यूटर से किसी सर्वर पर इंस्टॉल करने के लिए, आप इसके बजाय Arkvory Remote Setup इस्तेमाल कर सकते हैं। इंस्टॉलेशन चुनें देखें।

arkvory कमांड ​

पैकेज /usr/bin/arkvory इंस्टॉल करता है। arkvory help सभी कमांड की सूची दिखाता है और उसे कोई विशेष अधिकार नहीं चाहिए। हर अन्य कमांड को root और इंस्टॉलेशन रूट चाहिए:

bash
sudo arkvory status --root /opt/proanima-arkvory

status इंस्टॉलेशन मोड, इंस्टॉल किया गया संस्करण, स्वचालित अपडेट सेटिंग और संस्करण पिन छापता है।

कमांडउपयोग
statusइंस्टॉल किया गया संस्करण और अपडेट नीति दिखाएँ
updateअभी कोई नया स्थिर रिलीज़ इंस्टॉल करें। अपडेट देखें
configureHTTPS, बैकअप स्टोरेज, मिरर, अपडेट नीति और हब। विन्यास देखें
recoverबाधित अपडेट पूरा करें। अपडेट देखें
finish-installबाधित इंस्टॉलेशन जारी रखें
updates-connectपुराने रिलीज़ से अपडेट किए गए इंस्टॉलेशन के कंसोल और अपडेट टाइमर को जोड़ें

लॉग ​

सेवाएँ system जर्नल में लिखती हैं। API और वर्कर प्रति पंक्ति एक JSON रिकॉर्ड लिखते हैं।

bash
sudo journalctl -u arkvory-api -u arkvory-worker -u arkvory-backup -u arkvory-database
sudo journalctl -u arkvory-api -f
sudo journalctl -u arkvory-update --since today

arkvory-update अपडेट टाइमर का आउटपुट रखता है। जर्नल का आकार और प्रतिधारण आपके ऑपरेटिंग सिस्टम की सेटिंग्स हैं। रिकॉर्ड फ़ील्ड और मीट्रिक के लिए, मॉनिटरिंग देखें। डिप्लॉय कमांड <ISO-8601 time> INFO|WARN|ERROR <text> के रूप में पंक्तियाँ छापते हैं। उनसे सीक्रेट हटा दिए जाते हैं।

अपग्रेड ​

पुराने के ऊपर नया पैकेज इंस्टॉल करें, या कंसोल से या arkvory update से अपडेट करें। चल रही सेवाएँ तब तक परोसती रहती हैं जब तक अपडेट नए कोड पर न स्विच करे। नीतियों, डेटाबेस स्कीमा बदलाव से पहले बैकअप और रिकवरी चरणों के लिए अपडेट देखें।

Arkvory के लिए कोई apt या dnf रिपॉज़िटरी नहीं है। हर नया पैकेज रिलीज़ पृष्ठ से डाउनलोड करें।

हटाएँ ​

पैकेज हटाएँ और डेटा रखें ​

Debian और Ubuntu पर:

bash
sudo apt remove proanima-arkvory

Fedora और RPM-संगत सिस्टम पर:

bash
sudo dnf remove proanima-arkvory

हटाना सेवाओं और अपडेट टाइमर को रोकता और अक्षम करता है। यह /usr/lib/proanima-arkvory, /usr/bin/arkvory और मेनू प्रविष्टि हटाता है। यह जानबूझकर रखता है:

  • /opt/proanima-arkvory: डेटाबेस, सभी फ़ाइलें, विन्यास और पुनर्प्राप्ति कुंजी,
  • /etc/systemd/system में यूनिट फ़ाइलें, खाते arkvory और arkvory-db,
  • बैकअप स्टोरेज और उसका systemd ड्रॉप-इन। यह बैकअप स्टोरेज को कभी नहीं छूता।

apt purge apt remove से अधिक कुछ नहीं हटाता। यदि आप पैकेज फिर से इंस्टॉल करें, तो यह रखे गए डेटा के साथ जारी रहता है और सेवाएँ शुरू करता है।

सब कुछ हटाएँ ​

यह सभी सहेजी गई फ़ाइलें और कैटलॉग हटा देता है। पहले बैकअप बनाएँ और बैकअप स्टोरेज रखें।

bash
sudo systemctl disable --now arkvory-update.timer arkvory-backup arkvory-worker arkvory-api arkvory-database
sudo rm -rf /opt/proanima-arkvory
sudo rm -f /etc/systemd/system/arkvory-*.service /etc/systemd/system/arkvory-update.timer
sudo rm -rf /etc/systemd/system/arkvory-backup.service.d
sudo systemctl daemon-reload
sudo userdel arkvory
sudo userdel arkvory-db

पहले पैकेज हटाएँ, जैसा ऊपर वर्णित है। स्क्रिप्ट इंस्टॉलेशन के बाद कोई पैकेज नहीं होता: पहला कमांड सेवाएँ रोकता है, और जो कमांड arkvory-database तथा arkvory-db का नाम लेते हैं वे बताते हैं कि ये मौजूद नहीं हैं।

मौजूदा PostgreSQL इस्तेमाल करें ​

पैकेज हमेशा अपना क्लस्टर बनाता है। आपके संगठन द्वारा चलाए जाने वाले PostgreSQL सर्वर का उपयोग करने के लिए, install.sh से इंस्टॉल करें। यह वही तीन सेवाएँ और अपडेट टाइमर बनाता है, पर कोई arkvory-database यूनिट और कोई /usr/bin/arkvory कमांड नहीं।

16 से 19 तक का PostgreSQL संस्करण इस्तेमाल करें। एक Arkvory इंस्टॉलेशन के लिए एक डेटाबेस इस्तेमाल करें। कभी दो इंस्टॉलेशनों को एक ही डेटाबेस से न जोड़ें।

  1. अपने डेटाबेस व्यवस्थापक से एक खाली डेटाबेस और उसका स्वामी एक भूमिका माँगें। Arkvory इस भूमिका से अपने माइग्रेशन चलाता है।

  2. रिलीज़ से install.sh डाउनलोड करें और पढ़ें। इसे bash, curl, python3, tar और xz, systemd तथा root चाहिए।

  3. इसे चलाएँ। स्क्रिप्ट कनेक्शन URL माँगती है; इनपुट छिपा रहता है।

    bash
    sudo bash ./install.sh --automatic

    URL को इसके बजाय फ़ाइल में देने के लिए, ऐसी फ़ाइल बनाएँ जिसे केवल root पढ़ सके:

    json
    { "ARKVORY_DATABASE_URL": "postgresql://arkvory:<password>@db.example:5432/arkvory" }
    bash
    sudo bash ./install.sh --config /root/arkvory.json
  4. इंस्टॉलेशन पूरा होने पर स्क्रैच डायरेक्टरी /opt/proanima-arkvory/bootstrap.* हटाएँ। यदि आपने URL प्रॉम्प्ट पर टाइप किया था, तो डायरेक्टरी उसे native.json में रखती है।

  5. स्वामी को पहला शुरू और शुरुआती चरण में वर्णित अनुसार बनाएँ।

स्क्रिप्ट nodejs.org से Node.js 24.21.0 डाउनलोड करती है, उसका SHA-256 जाँचती है और नवीनतम स्थिर रिलीज़ इंस्टॉल करती है। स्वचालित अपडेट बंद रखने के लिए --automatic छोड़ दें। एनवायरनमेंट वेरिएबल डिफ़ॉल्ट बदलते हैं:

वेरिएबलअर्थडिफ़ॉल्ट
ARKVORY_INSTALL_ROOTइंस्टॉलेशन रूट। /home के बाहर एक समर्पित, खाली डायरेक्टरी इस्तेमाल करें/opt/proanima-arkvory
ARKVORY_RELEASE_VERSIONनवीनतम के बजाय यह स्थिर संस्करण इंस्टॉल करेंनवीनतम स्थिर
ARKVORY_ARTIFACT_DIRGitHub के बजाय खोले गए Arkvory-Linux.tar.gz से इंस्टॉल करेंसेट नहीं

उन्हें sudo env के माध्यम से पास करें, उदाहरण के लिए sudo env ARKVORY_INSTALL_ROOT=/srv/arkvory bash ./install.sh।

arkvory कमांड के बिना, प्रबंधन प्रोग्राम को उस Node.js से कॉल करें जो स्क्रिप्ट ने इंस्टॉल किया। arm64 पर linux-arm64 इस्तेमाल करें:

bash
root=/opt/proanima-arkvory
sudo "$root/runtime/node-v24.21.0-linux-x64/bin/node" "$root/manage.mjs" status --root "$root"

आप PostgreSQL सर्वर का बैकअप और रखरखाव स्वयं करते हैं। Arkvory बैकअप एजेंट कनेक्शन URL के माध्यम से डेटाबेस सामग्री को बैकअप स्टोरेज में कॉपी करता है। बैकअप देखें।

समस्या निवारण ​

समस्याक्या करें
PostgreSQL 16–19 server binaries are requiredPostgreSQL प्रोग्राम गायब हैं या बहुत पुराने हैं। संस्करण 16 से 19 का PostgreSQL सर्वर इंस्टॉल करें और पैकेज फिर से इंस्टॉल करें
Use a dedicated empty installation directory/opt/proanima-arkvory में पहले इंस्टॉलेशन की फ़ाइलें हैं जो installation.json सहेजने से पहले रुक गया। इंस्टॉलर कभी विन्यास अधिलेखित नहीं करता। जर्नल और पैकेज प्रबंधक आउटपुट पढ़ें और कारण ठीक करें। अभी तक डेटा न रखने वाली डायरेक्टरी को हटाया जा सकता है ताकि आप फिर इंस्टॉल कर सकें। डेटा रखने वाले इंस्टॉलेशन की config/ या database/ न हटाएँ
Installation is lockedकोई ऑपरेशन चल रहा है या क्रैश हो गया। अपडेट टाइमर रोकें, रूट में journal.json पढ़ें और स्थिति जानने से पहले operation.lock न हटाएँ। अपडेट देखें
database/bootstrap-started exists, but database/initialized does notडेटाबेस निर्माण बाधित हुआ। क्लस्टर न हटाएँ और हाथ से SQL दोहराएँ नहीं। कारण ठीक करें और sudo arkvory finish-install --root /opt/proanima-arkvory चलाएँ
सेवा शुरू नहीं होतीjournalctl -u arkvory-api -n 100. शुरू होने की विफलता सेटिंग का नाम बताने वाला, उसका मान कभी नहीं, एक JSON रिकॉर्ड reason के साथ छापती है
पोर्ट 8080 लिया हुआकोई दूसरा प्रोग्राम इसे इस्तेमाल कर रहा है। पोर्ट खाली करें, या config/runtime.json में ARKVORY_PORT सेट करें। विन्यास देखें। डेटाबेस पोर्ट वही है जो इंस्टॉलेशन के समय चुना गया (54329 या 45329-45348); यह अपने आप नहीं बदलता

यदि इंस्टॉलेशन installation.json लिखने के बाद रुका, तो आप पैकेज का विन्यास चरण भी दोहरा सकते हैं: Debian और Ubuntu पर sudo dpkg --configure -a, या RPM सिस्टम पर वही पैकेज फिर से इंस्टॉल करें।

और संकेत समस्या निवारण में हैं।

Arkvory · ProAnimaStudio