สตรีมภาพถ่ายเป็นบ้านที่ง่ายกว่าสำหรับภาพถ่ายของคุณที่สร้างขึ้นโดย @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 เพื่อย้อนกลับลำดับการเรียงลำดับรูปภาพและแสดงภาพถ่ายที่เก่าแก่ที่สุดก่อน ค่าเริ่มต้นเป็น 0ALLOW_ORDER_SORT_CHANGE : ตั้งค่าเป็น 1 เพื่อให้ผู้ใช้สามารถย้อนกลับลำดับของภาพถ่ายได้ALLOW_ORIGINAL_DOWNLOAD : ตั้งค่าเป็น 1 เพื่ออนุญาตให้ผู้ใช้ดาวน์โหลดรูปภาพในขนาดดั้งเดิมALLOW_INDEXING : ตั้งค่าเป็น 0 เพื่อป้องกันไม่ให้ตัวรวบรวมข้อมูลจัดทำดัชนีสตรีมภาพถ่ายของคุณโดยการเพิ่ม robots ยนต์เมตาแท็ก ค่าเริ่มต้นเป็น 1ALLOW_IMAGE_SHARING : ตั้งค่าเป็น 1 เพื่ออนุญาตให้ผู้ใช้แชร์รูปภาพกับเพื่อน ค่าเริ่มต้นเป็น 1TWITTER_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 : สิ่งที่คุณเห็นในขณะที่หน้าโหลดชุดรูปขนาดย่อชุดแรกยังใช้เป็นพื้นหลังสำหรับหน้าภาพถ่าย