Photo Stream es un hogar más simple para sus fotos creadas inicialmente por @MaxVoltar y ahora mantenida por @waschinski, @boerniee y amigos. Fácil de usar, a sí mismo alojado, sin seguimiento, solo fotos.
Hay una demostración de este repositorio alojado en un plan gratuito en Render.
Nos gusta tomar fotos y compartirlas. El problema es que es difícil tener realmente sus fotos y cómo están representados en las redes sociales en estos días, por lo que nos propusimos hacer un lugar para ellas. Lo aloja usted mismo, donde quiera (Netlify, Páginas de Github ...), tiene el control.
Anteriormente, la forma recomendada de instalar la transmisión de fotos era desembolsar el repositorio. En mi opinión, esto no era realmente óptimo y, al ser fanático de Docker, comencé a trabajar en optimizaciones para ejecutar la transmisión de fotos en un contenedor. Es por eso que la configuración se ha movido de _config.yml
a .env
así que al cambiar del repositorio inicial tendrá que configurar el archivo .env
en consecuencia.
Hay una imagen en Docker Hub que puede extraer:
docker pull waschinski/photo-stream:latest
Alternativamente, descargue el archivo docker-compose.yml
, cambie la configuración según sea necesario y use el siguiente comando para que se ejecute la secuencia de fotos:
docker-compose up -d
La carpeta photos
se puede montar como un volumen. Asegúrese de poner sus fotos en una carpeta llamada original
.
linux/arm/v6
):Prerrequisitos: Docker y Docker-Compose se instalan en RPI
En la sección image
de comentario de Docker-Compose.yml, la sección build
de desenfrenado y configuración BASE_IMAGE
arg a arm32v6/ruby:3.1.2-alpine3.16
.
Entonces docker-compose build
Luego docker-compose up -d
Tome la última versión de la página de lanzamiento y extraiga.
Asegúrese de cumplir con los siguientes requisitos para ejecutar la transmisión de fotos:
Cómo instalarlos depende de su sistema operativo. Los usuarios de Debian irán con sudo apt-get install build-essential
mientras en macOS deberían estar bien con xcode-select --install
.
Verifique si ya tiene Ruby instalado ( ruby -v
). Si no lo hace, puede seguir las instrucciones de instalación proporcionadas aquí.
Las instrucciones sobre cómo instalar libvips se pueden encontrar aquí.
A continuación, tendrá que instalar Jekyll (una simple gem install bundler jekyll
debería ser suficiente). Asegúrese de cumplir con sus requisitos o instalarlos también antes de continuar.
Una vez que se cumplan todos estos requisitos, finalmente puede instalar todas las gemas requeridas por la transmisión de fotos (debe estar en la carpeta de transmisión de fotos):
bundle install
Bifurca este repositorio y agregue sus propias fotos a las photos/original
. Inicie sesión en su cuenta de render o cree una nueva. Cree un nuevo sitio estático en el tablero de renderizado. Conecte su cuenta GitHub y seleccione su repositorio de transmisión fotográfica. Seleccione la rama correcta y ajuste el comando Build ( bundle exec jekyll build
) y publique el directorio ( _site
). En Avanzado, Add Secret File
y cree un archivo .env
que contenga sus variables de entorno ajustado. Es posible que pueda cambiar este archivo directamente en su repositorio y omitir el paso anterior (agregando un archivo secreto), pero no lo he probado.
Pon sus fotos (no redimensionadas) en las photos/original
. Opcionalmente, puede darles un nombre, que aparecerá como el título de la página de fotos y en la alimentación RSS.
Este comando servirá a la página estática en su máquina local. http: // localhost: 4000
bundle exec jekyll serve
También puede construir estáticamente su sitio para que se cargue a un webhost regular.
bundle exec jekyll build
Ahora cargue el contenido del _site/ directorio a su servidor web.
Simplemente ejecute el script que necesita ejecutar directamente desde la carpeta _scripts
como esa:
sh ./_script/build-n-lftp.sh
build.sh
construirá su sitio mientras rsync.sh
y lftp.sh
lo sincronizarán en consecuencia. build-n-rsync.sh
y build-n-lftp.sh
simplemente están haciendo ambos pasos en uno. No olvide agregar su configuración de sincronización en el archivo .env
.
Lo primero que quieres hacer es editar un par de cosas en /.env
:
TITLE
: El título de tu transmisión de fotos.EMAIL
: su dirección de correo electrónico (esta línea es opcional, puede eliminarla).AUTHOR_NAME
: tu nombre.AUTHOR_EMAIL
: su dirección de correo electrónico (opcional).AUTHOR_WEBSITE
: su sitio web (podría ser la dirección de esta transmisión de fotos).DESCRIPTION
: Descripción de su transmisión de fotos.BASEURL
: debe dejarse vacío o eliminado URL
: ¿Dónde se transmitirá esta foto (Ejemplo: https://maxvoltar.photo
), no debe terminar con/o los enlaces se equivocarán?SHOW_RSS_FEED
: Establezca en 1
o 0
para habilitar o deshabilitar mostrando el botón de alimentación RSS.SHOW_OFFICIAL_GITHUB
: Establezca en 1
o 0
para habilitar o deshabilitar mostrando el enlace al repositorio oficial de GitHub.DEFAULT_REVERSE_SORT
: configure esto en 1
para revertir el orden de clasificación de fotos y mostrar primero las fotos más antiguas. El valor predeterminado es 0
.ALLOW_ORDER_SORT_CHANGE
: configure esto en 1
para permitir a los usuarios revertir el orden de clasificación de las fotos.ALLOW_ORIGINAL_DOWNLOAD
: configure esto en 1
para permitir a los usuarios descargar las fotos en su tamaño original.ALLOW_INDEXING
: configure esto en 0
para evitar que los rastreadores indexen su transmisión de fotos agregando robots
de metaets. Predeterminado es 1
.ALLOW_IMAGE_SHARING
: configure esto en 1
para permitir a los usuarios compartir imágenes con amigos. Predeterminado es 1
.TWITTER_USERNAME
: su nombre de usuario de Twitter o eliminar/comentar esta línea.GITHUB_USERNAME
: su nombre de usuario GitHub o eliminar/comentar esta línea.INSTAGRAM_USERNAME
: su nombre de usuario de Instagram o eliminar/comentar esta línea.SYNCUSER
: su nombre de usuario es utilizado por LFTP/RSYNC en los scripts de shell para sincronizar su sitio con su servidor web.SYNCPASS
: su contraseña es utilizada por LFTP/RSYNC en los scripts de shell para sincronizar su sitio con su servidor web.SYNCSERVER
: la URL de su servidor web que está utilizando LFTP/RSYNC en los scripts de shell donde se sincronizará su sitio.SYNCFOLDER
: la carpeta en su servidor web utilizada por LFTP/RSYNC en los scripts de shell donde se sincronizará su sitio. No incluya la parte @
-parte de sus mangos sociales. Los enlaces a sus perfiles GitHub, Twitter e Instagram solo se muestran cuando se establecen.
Antes de publicar su sitio web, Jekyll cambiará sus fotos en 3 cubos diferentes:
/photos/large
: solo se muestran cuando un usuario navega a una página de fotos. Por defecto, estos se redimensionan a un máximo de 2048 de ancho y 2048 de alto. Si lo desea, puede cambiarlos cambiando los valores en /_config.yml
(por defecto, se ven así: resize_to_limit: [2048, 2048]
)./photos/thumbnail
: estos se usan en la cuadrícula. La transmisión de fotos cargará todas las miniaturas sobre el pliegue, luego más mientras se desplaza hacia abajo; Todo para salvar el ancho de banda. El tamaño estándar para estos es 640 por 640 (máximo), pero también puede cambiar esto si es necesario./photos/tint
: lo que ve mientras la página carga su primer lote de miniaturas, también utilizada como fondo para páginas de fotos.