สตรีมภาพถ่ายเป็นบ้านที่ง่ายกว่าสำหรับภาพถ่ายของคุณที่สร้างขึ้นโดย @MaxVoltar และตอนนี้ได้รับการดูแลโดย @waschinski, @boerniee และเพื่อน ๆ ใช้งานง่ายโฮสต์ตัวเองไม่มีการติดตามเพียงภาพถ่าย
มีการสาธิตของที่เก็บนี้เป็นเจ้าภาพในแผนฟรีเกี่ยวกับการแสดงผล
เราชอบถ่ายรูปและแบ่งปัน ปัญหาคือมันยากที่จะเป็นเจ้าของภาพถ่ายของคุณและวิธีที่พวกเขาเป็นตัวแทนในโซเชียลมีเดียในทุกวันนี้ดังนั้นเราจึงออกเดินทางเพื่อสร้างสถานที่สำหรับพวกเขา คุณโฮสต์ด้วยตัวเองไม่ว่าคุณจะต้องการ (netlify, หน้า gitHub ... ) คุณอยู่ในการควบคุม
ก่อนหน้านี้วิธีที่แนะนำในการติดตั้งสตรีมภาพถ่ายคือการแยกที่เก็บ ในความคิดของฉันสิ่งนี้ไม่ได้ดีที่สุดและเป็นแฟนตัวยงของนักเทียบท่าฉันเริ่มทำงานเกี่ยวกับการเพิ่มประสิทธิภาพเพื่อเรียกใช้สตรีมภาพถ่ายในคอนเทนเนอร์ นั่นเป็นเหตุผลที่การกำหนดค่าถูกย้ายจาก _config.yml
เป็น .env
ดังนั้นเมื่อเปลี่ยนจาก repo เริ่มต้นคุณจะต้องตั้งค่าไฟล์ .env
ตามลำดับ
มีภาพอยู่ที่ Docker Hub ซึ่งคุณสามารถดึงได้โดยใช้:
docker pull waschinski/photo-stream:latest
หรือดาวน์โหลดไฟล์ docker-compose.yml
เปลี่ยนการกำหนดค่าตามต้องการและใช้คำสั่งต่อไปนี้เพื่อให้สตรีมภาพถ่ายทำงาน:
docker-compose up -d
โฟลเดอร์ photos
สามารถติดตั้งเป็นระดับเสียง ตรวจสอบให้แน่ใจว่าได้ใส่รูปภาพของคุณในโฟลเดอร์ที่เรียกว่า original
linux/arm/v6
เท่านั้น):สิ่งที่จำเป็นต้องมี: Docker และ Docker-compose ติดตั้งบน RPI
ในส่วน image
ความคิดเห็นของ Docker-compose.yml, ส่วน build
แบบแทรกซึมและการตั้งค่า BASE_IMAGE
arg เป็น arm32v6/ruby:3.1.2-alpine3.16
จากนั้น docker-compose build
จากนั้น docker-compose up -d
คว้าเวอร์ชันล่าสุดจากหน้ารีลีสแล้วแยกออก
ตรวจสอบให้แน่ใจว่าคุณเป็นไปตามข้อกำหนดต่อไปนี้เพื่อเรียกใช้สตรีมภาพถ่าย:
วิธีการติดตั้งสิ่งเหล่านี้ขึ้นอยู่กับระบบปฏิบัติการของคุณ ผู้ใช้ Debian จะไปกับ sudo apt-get install build-essential
ในขณะที่อยู่ใน MacOS คุณควรจะดีด้วย xcode-select --install
ตรวจสอบดูว่าคุณติดตั้งทับทิมอยู่แล้ว ( ruby -v
) หรือไม่ หากคุณไม่ทำคุณสามารถทำตามคำแนะนำการติดตั้งที่ให้ไว้ที่นี่
คำแนะนำเกี่ยวกับวิธีการติดตั้ง libvips สามารถพบได้ที่นี่
ถัดไปคุณจะต้องติดตั้ง Jekyll ( gem install bundler jekyll
น่าจะพอเพียง) ตรวจสอบให้แน่ใจว่าคุณเป็นไปตามข้อกำหนดหรือติดตั้งเช่นกันก่อนดำเนินการ
เมื่อมีการปฏิบัติตามข้อกำหนดทั้งหมดเหล่านี้ในที่สุดคุณสามารถติดตั้งอัญมณีทั้งหมดที่ต้องการโดยสตรีมภาพถ่าย (คุณควรอยู่ในโฟลเดอร์สตรีมภาพถ่าย):
bundle install
ส้อม repo นี้และเพิ่มรูปภาพของคุณเองลงใน photos/original
เข้าสู่บัญชีเรนเดอร์ของคุณหรือสร้างใหม่ สร้างไซต์คงที่ใหม่บนแดชบอร์ดเรนเดอร์ เชื่อมต่อบัญชี GitHub ของคุณและเลือกที่เก็บภาพถ่ายสตรีมของคุณ เลือกสาขาที่ถูกต้องและปรับคำสั่ง build ( bundle exec jekyll build
) และเผยแพร่ไดเรกทอรี ( _site
) ภายใต้ขั้นสูงคุณ Add Secret File
และสร้างไฟล์ .env
ที่มีตัวแปรสภาพแวดล้อมที่ปรับของคุณ คุณอาจสามารถเปลี่ยนไฟล์นี้ได้โดยตรงใน repo ของคุณและข้ามขั้นตอนเดิม (เพิ่มไฟล์ลับ) แต่ฉันยังไม่ได้ทดสอบสิ่งนี้
ใส่รูปภาพของคุณ (ไม่ปรับขนาด) ใน 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
เพื่อเปิดใช้งานหรือปิดการใช้งานการแสดงปุ่มฟีด RSSSHOW_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 Scripts เพื่อซิงค์ไซต์ของคุณกับเว็บเซิร์ฟเวอร์ของคุณSYNCPASS
: รหัสผ่านของคุณถูกใช้โดย LFTP/RSYNC ในสคริปต์เชลล์เพื่อซิงค์ไซต์ของคุณกับเว็บเซิร์ฟเวอร์ของคุณSYNCSERVER
: URL ของเว็บเซิร์ฟเวอร์ของคุณที่ใช้โดย LFTP/RSYNC ในสคริปต์เชลล์ที่ไซต์ของคุณจะถูกซิงค์ไปSYNCFOLDER
: โฟลเดอร์บนเว็บเซิร์ฟเวอร์ของคุณถูกใช้โดย LFTP/RSYNC ในสคริปต์เชลล์ที่ไซต์ของคุณจะถูกซิงค์ไป อย่ารวม @
-Part ของมือจับสังคมของคุณ ลิงก์ไปยังโปรไฟล์ GitHub, Twitter และ Instagram ของคุณจะแสดงเฉพาะเมื่อตั้งค่าเท่านั้น
ก่อนที่จะเผยแพร่เว็บไซต์ของคุณ Jekyll จะปรับขนาดรูปภาพของคุณเป็น 3 ถังที่แตกต่างกัน:
/photos/large
: สิ่งเหล่านี้จะแสดงเฉพาะเมื่อผู้ใช้นำทางไปยังหน้าภาพถ่าย โดยค่าเริ่มต้นสิ่งเหล่านี้จะถูกปรับขนาดให้สูงที่สุดในปี 2048 และสูง 2048 หากคุณต้องการคุณสามารถเปลี่ยนสิ่งเหล่านี้ได้โดยการเปลี่ยนค่าใน /_config.yml
(โดยค่าเริ่มต้นพวกเขามีลักษณะเช่นนี้: resize_to_limit: [2048, 2048]
)/photos/thumbnail
: สิ่งเหล่านี้ใช้ในกริด สตรีมภาพถ่ายจะโหลดภาพขนาดย่อทั้งหมดเหนือรอยพับจากนั้นมากขึ้นเมื่อคุณเลื่อนลง ทั้งหมดเพื่อบันทึกแบนด์วิดท์ ขนาดมาตรฐานสำหรับสิ่งเหล่านี้คือ 640 โดย 640 (สูงสุด) แต่คุณสามารถเปลี่ยนสิ่งนี้ได้หากจำเป็น/photos/tint
: สิ่งที่คุณเห็นในขณะที่หน้าโหลดชุดรูปขนาดย่อชุดแรกยังใช้เป็นพื้นหลังสำหรับหน้าภาพถ่าย