বিষয়বস্তুতে যান

ফাইল থেকে কী ইমপোর্ট করুন

সেটআপ

আপনার সোর্স, ডাউনলোডার, মিডিয়া সার্ভার, সাবটাইটেল সাইট ও মেইল একটি ফাইলে পূরণ করুন, ইমপোর্ট করুন, আর সেটিংসে প্রতিটি কী আলাদা করে লেখার ঝামেলা এড়ান।

  • HolyArrs Docker-এ চলছে এবং এর কনফিগ /config-এ।
  • আপনি Settings > API > API keys (সেটিংস > API > API কী) থেকে মালিকের API কী বানাতে পারেন।

ফাইলটি ইমপোর্ট করুন

ফাইলটি ইমপোর্ট করুন-এর লিংক
  1. holyarrs-secrets.template.yaml কপি করে holyarrs-secrets.yaml নামে রাখুন।

  2. যা যা ব্যবহার করেন তা পূরণ করুন। বাকি ঘর খালি রাখুন; খালি মানে বাদ।

  3. ফাইলটি শুধু আপনি পড়তে পারেন এমন করুন:

    Terminal window
    chmod 600 holyarrs-secrets.yaml
  4. এটি কন্টেইনারে রিড-অনলি মাউন্ট করুন:

    volumes:
    - /srv/holyarrs/config:/config
    - /srv/holyarrs/holyarrs-secrets.yaml:/run/secrets/holyarrs.yaml:ro
  5. Settings > API > API keys-এ admin স্কোপসহ মালিকের একটি API কী বানান। এটি ফাইলের holyarrs ব্লকে http://127.0.0.1:6262 ঠিকানাসহ বসান।

  6. আগে একটি ড্রাই রান করুন। এটি কিছুই বদলায় না:

    Terminal window
    docker exec holyarrs /holyarrs import-secrets -file /run/secrets/holyarrs.yaml -dry-run

    প্রতিটি আইটেমের জন্য একটি করে would set লাইন দেখতে পাবেন।

  7. এবার সত্যিই চালান (একই কমান্ড, শুধু -dry-run ছাড়া)। আপনি set লাইন এবং এক্সিট কোড 0 দেখতে পাবেন।

  8. নতুন সোর্স ও ডাউনলোডার দেখে নিন, তারপর আবার চালু করুন। নতুন মিডিয়া সার্ভার ও অ্যালার্ট টেস্ট করুন, তারপর চালু করুন।

  9. হোস্টে ফাইলটি মুছে ফেলুন (ফাইলটি মুছুন দেখুন)। API কী আর না লাগলে সেটিও মুছুন।

প্রতিটি ব্লক কী হয়ে যায়

প্রতিটি ব্লক কী হয়ে যায়-এর লিংক
ফাইলে যা হয়
trakt.client_id Trakt অ্যাপ কী (Settings > Outside lists, বাইরের তালিকা)।
tmdb, tvdb পুরোনো ফাইল থেকে নেওয়া হয়। মেটাডেটার জন্য কোনো কী লাগে না।
opensubtitles, subdl আপনার অ্যাকাউন্টসহ একটি সাবটাইটেল সাইট।
addic7ed একটি Addic7ed সাবটাইটেল সাইট, শুধু সিরিজের জন্য।
indexers প্রতিটি এন্ট্রির জন্য একটি সোর্স, paused (বিরতিতে)।
jackett, prowlarr এদের কী একই ঠিকানার সেই indexers এন্ট্রিগুলোয় বসে যাদের কী নেই।
qbittorrent, sabnzbd একটি ডাউনলোডার, paused।
nzbget, transmission, deluge বাদ যায়। ইমপোর্ট এখনো এগুলো সেটআপ করতে পারে না; Settings > Downloaders-এ যোগ করুন।
jellyfin, emby, plex একটি মিডিয়া সার্ভার, টেস্ট না করা পর্যন্ত off (বন্ধ)।
smtp, discord, webhook অ্যালার্ট “Email”, “Discord” ও “Webhook”, টেস্ট না করা পর্যন্ত off।
radarr, sonarr, lidarr, prowlarr, bazarr, seerr Import from other apps (অন্য অ্যাপ থেকে ইমপোর্ট)-এর জন্য সেভ করা একটি কী।
holyarrs শুধু HolyArrs চলার সময় তার কাছে পৌঁছাতে ব্যবহার হয়। কখনো সেভ হয় না।

প্রতিটি কী এনক্রিপ্টেড ভল্টে যায়, সেটিংসে লিখলে যেমন যেত।

লোকাল নেটওয়ার্কের সুইচ

লোকাল নেটওয়ার্কের সুইচ-এর লিংক

ঠিকানা আছে এমন প্রতিটি ব্লকে allow_local_network: true দেওয়া যায়। এটি ওই আইটেমকে এই কম্পিউটার বা আপনার বাসার নেটওয়ার্কে (192.168.x.x, 10.x.x.x, কন্টেইনারের নাম) পৌঁছাতে দেয়। এটি না থাকলে আইটেমটি শুধু ইন্টারনেটে পৌঁছায়, তাই বাসার ডাউনলোডার সাড়া দেবে না। HolyArrs ঠিকানা দেখে এটি কখনো আন্দাজ করে না। এটি সেটিংসের May reach the local network (লোকাল নেটওয়ার্কে পৌঁছাতে পারবে) সুইচের মতোই।

একই কনফিগে একটি এককালীন কন্টেইনার চালান। এটি সরাসরি কনফিগ ফোল্ডারে সেভ করে এবং holyarrs ব্লক লাগে না:

Terminal window
docker stop holyarrs
docker run --rm -e PUID=1000 -e PGID=1000 \
-v /srv/holyarrs/config:/config \
-v /srv/holyarrs/holyarrs-secrets.yaml:/run/secrets/holyarrs.yaml:ro \
holyarrs/holyarrs:latest import-secrets -file /run/secrets/holyarrs.yaml
docker start holyarrs

অ্যাপের মতো একই PUID ও PGID ব্যবহার করুন, নইলে কনফিগ ফোল্ডারের মালিকানা 1000:1000-কে দিয়ে দেওয়া হয়। PUID ইউজারকে ফাইলটি পড়তে পারতে হবে। আপনি HOLYARRS_MASTER_KEY_FILE ব্যবহার করলে এককালীন কন্টেইনারকেও একই ভেরিয়েবল ও মাউন্ট দিন।

আবার চালানো নিরাপদ। মিলে যাওয়া আইটেমে unchanged লেখা হয়; শুধু বদলানো আইটেম সেভ হয়।

আইটেম যা দিয়ে মেলানো হয়
সোর্স নাম
ডাউনলোডার, মিডিয়া সার্ভার ধরন ও ঠিকানা
অ্যালার্ট নাম ও ধরন
সাবটাইটেল সাইট, আগের অ্যাপ ধরন

যে সোর্স বা ডাউনলোডারের ঠিকানা বা কী বদলেছে সেটি আবার বিরতিতে যায়। আপনি নিজে একটি চালু করে দিলে আবার রান করলেও সেটি চালু থাকে। indexers এন্ট্রিতে api_key খালি থাকলে আগের সেভ করা কী থেকে যায়; সরাতে চাইলে clear_key: true যোগ করুন।

-delete দিলে কমান্ডটি ফাইল শূন্য দিয়ে ওভাররাইট করে সরিয়ে দেয়, শুধু যে রানে কিছু ব্যর্থ হয়নি তার পরে। রিড-অনলি মাউন্ট কন্টেইনারের ভেতর থেকে মোছা যায় না, তাই হোস্টে মুছুন:

সিস্টেম কমান্ড
Linux shred -u holyarrs-secrets.yaml
macOS rm -P holyarrs-secrets.yaml
Windows Remove-Item holyarrs-secrets.yaml, তারপর রিসাইকেল বিন খালি করুন।

SSD ও কপি-অন-রাইট ফাইলসিস্টেমে পুরোনো ব্লক ডিস্কে থেকে যেতে পারে। কী নিজেরা এখন এনক্রিপ্টেড ভল্টে আছে।

লক্ষণ কারণ সমাধান
ফাইলটি অন্য ইউজাররা পড়তে পারছে পারমিশন বেশি খোলা। chmod 600 চালান। Windows-এ এটি এমন ফোল্ডারে রাখুন যা শুধু আপনি খুলতে পারেন।
একটি অচেনা কী ইমপোর্ট থামিয়ে দিয়েছে বানান ভুল, বা নাম বলা লাইনে একটি ট্যাব। ওই লাইনটি ঠিক করুন। কিছুই সেভ হয়নি।
সাধারণ http প্রত্যাখ্যাত holyarrs ঠিকানাটি এই কম্পিউটারের নয়। কন্টেইনারের ভেতর থেকে http://127.0.0.1:6262 দিয়ে চালান, অথবা https ব্যবহার করুন।
বাসার একটি ডাউনলোডার সাড়া দিচ্ছে না লোকাল নেটওয়ার্কের পারমিশন নেই। ওই ব্লকে allow_local_network: true দিন।
এককালীন কন্টেইনার ফোল্ডারের মালিক বদলে দিয়েছে PUID/PGID আলাদা ছিল। অ্যাপের PUID ও PGID ব্যবহার করুন।
-delete কিছু করেনি কিছু ব্যর্থ হয়েছে, অথবা মাউন্ট রিড-অনলি। হোস্টে মুছুন।

বিশেষজ্ঞদের জন্য

বিশেষজ্ঞদের জন্য-এর লিংক
ফ্ল্যাগ ও এক্সিট কোড
ফ্ল্যাগ কী করে ডিফল্ট
-file <path> গোপন তথ্যের ফাইল। নেই
-dry-run শুধু বলে কী সেট হতো। বন্ধ
-config <folder> কনফিগ ফোল্ডার। /config
-delete কোনো ব্যর্থতা ছাড়া রানের পর ফাইলটি শূন্য দিয়ে ওভাররাইট করে মুছে দেয়। বন্ধ
-forget-move-credentials সেভ করা প্রতিটি আগের-অ্যাপের কী মুছে দেয়, তারপর থামে। বন্ধ
-allow-http-lan বাসার নেটওয়ার্কের ঠিকানায় সাধারণ http:// চলতে দেয়। একটি সতর্কতা ছাপে। বন্ধ
-allow-readable-file অন্য ইউজাররা পড়তে পারে এমন ফাইল মেনে নেয়। Windows-এর Docker Desktop প্রতিটি ফাইলকে পড়ার-যোগ্য দেখায়। বন্ধ

holyarrs ঠিকানা হতে হবে https://, অথবা শুধু এই কম্পিউটারের (127.0.0.1, ::1, localhost) সাধারণ http://। সাধারণ http-তে আপনার মালিকের কী ও পুরো ফাইল এনক্রিপশন ছাড়া যায়।

এক্সিট কোড মানে
0 প্রতিটি আইটেম ঠিকঠাক হয়েছে।
1 একটি আইটেম ব্যর্থ হয়েছে। ফাইল ঠিক করে আবার চালান।
2 কমান্ড লাইন বা ফাইল ভুল।
আউটপুট

প্রতি আইটেমে একটি লাইন: set (ড্রাই রানে would set, কখনো নোটসহ), unchanged, skipped (empty), skipped (why) অথবা failed: why। এটি কখনো কী, পাসওয়ার্ড, টোকেন বা ঠিকানা ছাপে না। হিস্ট্রিতে শুধু সংখ্যাসহ একটি ইভেন্ট যায়। যে এরর আপনার ফাইলের কোনো মান দেখাতে পারত, সেখানে তার বদলে [hidden] দেখায়।

ফাইলের ফরম্যাট

YAML-এর একটি ছোট, কড়া অংশ:

  • ব্লক হয় স্পেস দিয়ে ইনডেন্টেশনে, কখনো ট্যাব নয়; তালিকা - দিয়ে,
  • মান সাধারণ, "double quotes"-এ অথবা 'single quotes'-এ (সিঙ্গেল কোটের ভেতরে ' লিখতে দুবার লিখুন),
  • # কমেন্ট শুরু করে লাইনের শুরুতে অথবা কোটের বাইরের স্পেসের পরে, তাই # আছে এমন পাসওয়ার্ড কোটে রাখুন,
  • যে মান &, *, !, |, >, [, {, %, @ বা ব্যাকোট দিয়ে শুরু হয়, অথবা যাতে : আছে, তা কোটে রাখুন।

অচেনা কী বা 256 KB-র বড় ফাইল কিছু সেভ হওয়ার আগেই পুরো ইমপোর্ট থামিয়ে দেয়; মেসেজে কী ও লাইনের নাম থাকে। ফাইলের লিংক প্রত্যাখ্যান করা হয়।

বিশেষ ঘর
ঘর নিয়ম
SABnzbd পুরো api_key লাগে। nzb_key, ইউজারনেম বা পাসওয়ার্ড বাদ যায় এবং কখনো সেভ হয় না।
tvdb.api_key, tvdb.unique_user_key, trakt.redirect_urls নেওয়া হয় এবং বাদ দেওয়া হয়।
smtp.host শুধু সার্ভারের নাম, স্কিম বা পোর্ট ছাড়া।
smtp.port 1 থেকে 65535। ডিফল্ট 587।
smtp.from একটি সাধারণ ইমেইল ঠিকানা।
আগের-অ্যাপের ব্লক Import from other apps-এ Use the saved key (সেভ করা কী ব্যবহার করুন) দিয়ে ব্যবহার হয়। কখনো দেখানো হয় না, শুধু মালিকের জন্য, একবার সফলভাবে পড়ার পর মুছে যায়।

HolyArrs বিনামূল্যে। এটি আপনার সময় বাঁচিয়ে থাকলে GitHub-এ স্টার দিন, স্পনসর করুন অথবা এক কাপ কফি কিনে দিন।