يعد Photo Stream مكانًا أبسط لصورك تم إنشاؤه في البداية بواسطة @maxvoltar ويتم صيانته الآن بواسطة @waschinski و@boerniee والأصدقاء. سهل الاستخدام، مستضاف ذاتيًا، لا يوجد تتبع، فقط صور.
يوجد عرض توضيحي لهذا المستودع مستضافًا في خطة مجانية على Render.
نحن نحب التقاط الصور ومشاركتها. تكمن المشكلة في أنه من الصعب امتلاك صورك وكيفية عرضها عبر وسائل التواصل الاجتماعي هذه الأيام، لذلك شرعنا في توفير مكان لها. يمكنك استضافته بنفسك، أينما تريد (Netlify، Github Pages...)، أنت المسيطر.
في السابق، كانت الطريقة الموصى بها لتثبيت Photo Stream هي تفرع المستودع. في رأيي، لم يكن هذا هو الأمثل حقًا، وكوني من محبي Docker، بدأت العمل على تحسينات لتشغيل Photo Stream في حاوية. ولهذا السبب تم نقل التكوين من _config.yml
إلى .env
لذلك عند التبديل من الريبو الأولي، سيتعين عليك إعداد ملف .env
وفقًا لذلك.
توجد صورة في Docker Hub والتي يمكنك سحبها باستخدام:
docker pull waschinski/photo-stream:latest
بدلاً من ذلك، قم بتنزيل ملف docker-compose.yml
، وقم بتغيير التكوين حسب الحاجة واستخدم الأمر التالي لتشغيل Photo Stream:
docker-compose up -d
يمكن تركيب مجلد photos
كوحدة تخزين. تأكد من وضع صورك في مجلد يسمى original
.
linux/arm/v6
فقط):المتطلبات الأساسية: تثبيت عامل الإرساء وتكوين الإرساء على RPI
في قسم image
التعليق docker-compose.yml، قم بإلغاء التعليق على قسم build
، وقم بإعداد BASE_IMAGE
arg إلى arm32v6/ruby:3.1.2-alpine3.16
.
ثم docker-compose build
ثم docker-compose up -d
احصل على أحدث إصدار من صفحة الإصدار واستخرجه.
تأكد من استيفاء المتطلبات التالية لتشغيل Photo Stream:
تعتمد كيفية تثبيتها على نظام التشغيل لديك. سيستخدم مستخدمو دبيان sudo apt-get install build-essential
بينما على نظام التشغيل MacOS يجب أن تكون على ما يرام مع xcode-select --install
.
تحقق لمعرفة ما إذا كان لديك Ruby مثبتًا بالفعل ( ruby -v
). إذا لم تقم بذلك، يمكنك اتباع تعليمات التثبيت المتوفرة هنا.
يمكن العثور على تعليمات حول كيفية تثبيت libvips هنا.
بعد ذلك، سيتعين عليك تثبيت Jekyll (يجب أن يكون gem install bundler jekyll
كافيًا). تأكد من تلبية متطلباته أو تثبيتها أيضًا قبل المتابعة.
بمجرد استيفاء جميع هذه المتطلبات، يمكنك أخيرًا تثبيت جميع الأحجار الكريمة التي يتطلبها Photo Stream (يجب أن تكون في مجلد Photo Stream):
bundle install
قم بتفرع هذا الريبو وأضف صورك الخاصة إلى مجلد photos/original
. قم بتسجيل الدخول إلى حساب Render الخاص بك أو قم بإنشاء حساب جديد. أنشئ موقعًا ثابتًا جديدًا على لوحة تحكم العرض. قم بتوصيل حساب Github الخاص بك وحدد مستودع دفق الصور الخاص بك. حدد الفرع الصحيح واضبط أمر البناء ( bundle exec jekyll build
) ونشر الدليل ( _site
). ضمن خيارات متقدمة، يمكنك Add Secret File
وإنشاء ملف .env
يحتوي على متغيرات البيئة المعدلة. قد تتمكن من تغيير هذا الملف مباشرة في الريبو الخاص بك وتخطي الخطوة السابقة (إضافة ملف سري) لكنني لم أختبر ذلك.
ضع صورك (لم يتم تغيير حجمها) في دليل photos/original
. اختياريًا، يمكنك منحهم اسمًا، والذي سيظهر كعنوان لصفحة الصورة وفي موجز RSS.
سيخدم هذا الأمر الصفحة الثابتة على جهازك المحلي. http://localhost:4000
bundle exec jekyll serve
يمكنك أيضًا إنشاء موقعك بشكل ثابت ليتم تحميله على مضيف ويب عادي.
bundle exec jekyll build
الآن قم بتحميل محتويات الدليل _site/ إلى خادم الويب الخاص بك.
ما عليك سوى تنفيذ البرنامج النصي الذي تحتاجه للتشغيل مباشرة من مجلد _scripts
مثل هذا:
sh ./_script/build-n-lftp.sh
سيقوم build.sh
ببناء موقعك بينما سيقوم rsync.sh
و lftp.sh
بمزامنته وفقًا لذلك. يقوم build-n-rsync.sh
و build-n-lftp.sh
بكل بساطة بتنفيذ كلا الخطوتين في خطوة واحدة. لا تنس إضافة تكوين المزامنة الخاص بك في ملف .env
.
أول شيء تريد القيام به هو تعديل بعض الأشياء في /.env
:
TITLE
: عنوان دفق الصور الخاص بك.EMAIL
: عنوان بريدك الإلكتروني (هذا السطر اختياري، يمكنك إزالته).AUTHOR_NAME
: اسمك.AUTHOR_EMAIL
: عنوان بريدك الإلكتروني (اختياري).AUTHOR_WEBSITE
: موقع الويب الخاص بك (يمكن أن يكون عنوان مجموعة الصور هذه).DESCRIPTION
: وصف لتدفق الصور الخاص بك.BASEURL
: يجب تركه فارغًا أو إزالته URL
: أين سيتم عرض بث الصور هذا (على سبيل المثال: https://maxvoltar.photo
)، يجب ألا ينتهي بـ / وإلا سيتم العبث بالروابط.SHOW_RSS_FEED
: اضبط إما على 1
أو 0
لتمكين أو تعطيل إظهار زر تغذية RSS.SHOW_OFFICIAL_GITHUB
: اضبط إما على 1
أو 0
لتمكين أو تعطيل إظهار الرابط إلى مستودع github الرسمي.DEFAULT_REVERSE_SORT
: اضبط هذا على 1
لعكس ترتيب فرز الصور وإظهار الصور الأقدم أولاً. الإعدادات الافتراضية إلى 0
.ALLOW_ORDER_SORT_CHANGE
: اضبط هذا على 1
للسماح للمستخدمين بعكس ترتيب فرز الصور.ALLOW_ORIGINAL_DOWNLOAD
: اضبط هذا على 1
للسماح للمستخدمين بتنزيل الصور بحجمها الأصلي.ALLOW_INDEXING
: اضبط هذا على 0
لمنع برامج الزحف من فهرسة تدفق الصور الخاص بك عن طريق إضافة robots
العلامات الوصفية. الإعدادات الافتراضية إلى 1
.ALLOW_IMAGE_SHARING
: اضبط هذا على 1
للسماح للمستخدمين بمشاركة الصور مع الأصدقاء. الإعدادات الافتراضية إلى 1
.TWITTER_USERNAME
: اسم مستخدم Twitter الخاص بك أو قم بإزالة/التعليق على هذا السطر.GITHUB_USERNAME
: اسم مستخدم Github الخاص بك أو قم بإزالة/التعليق على هذا السطر.INSTAGRAM_USERNAME
: اسم مستخدم Instagram الخاص بك أو قم بإزالة/التعليق على هذا السطر.SYNCUSER
: يتم استخدام اسم المستخدم الخاص بك بواسطة lftp/rsync في البرامج النصية لـ Shell لمزامنة موقعك مع خادم الويب الخاص بك.SYNCPASS
: يتم استخدام كلمة المرور الخاصة بك بواسطة lftp/rsync في البرامج النصية لـ Shell لمزامنة موقعك مع خادم الويب الخاص بك.SYNCSERVER
: عنوان URL لخادم الويب الخاص بك الذي يستخدمه lftp/rsync في نصوص shell حيث ستتم مزامنة موقعك معه.SYNCFOLDER
: المجلد الموجود على خادم الويب الخاص بك والذي يتم استخدامه بواسطة lftp/rsync في البرامج النصية لـ shell حيث ستتم مزامنة موقعك معه. لا تقم بتضمين الجزء @
من مقابضك الاجتماعية. يتم عرض الروابط إلى ملفاتك الشخصية على Github وTwitter وInstagram فقط عند تعيينها.
قبل نشر موقع الويب الخاص بك، سيقوم Jekyll بتغيير حجم صورك إلى ثلاث مجموعات مختلفة:
/photos/large
: تظهر هذه فقط عندما ينتقل المستخدم إلى صفحة الصور. افتراضيًا، يتم تغيير حجمها إلى حد أقصى يبلغ 2048 عرضًا و2048 طولًا. إذا كنت ترغب في ذلك، يمكنك تغييرها عن طريق تغيير القيم في /_config.yml
(افتراضيًا تبدو كما يلي: resize_to_limit: [2048, 2048]
)./photos/thumbnail
: يتم استخدامها في الشبكة. سيقوم Photo Stream بتحميل جميع الصور المصغرة في الجزء المرئي من الصفحة، ثم المزيد أثناء التمرير لأسفل؛ كل ذلك لحفظ عرض النطاق الترددي. الحجم القياسي لهذه هو 640 × 640 (كحد أقصى)، ولكن يمكنك أيضًا تغيير هذا إذا لزم الأمر./photos/tint
: ما تراه أثناء قيام الصفحة بتحميل الدفعة الأولى من الصور المصغرة، والذي يستخدم أيضًا كخلفية لصفحات الصور.