Photo Stream est une maison plus simple pour vos photos initialement créée par @maxvoltar et maintenant gérée par @waschinski, @boerniee et ses amis. Facile à utiliser, auto-hébergé, pas de suivi, juste des photos.
Il existe une démo de ce référentiel hébergée sur un plan gratuit sur Render.
Nous aimons prendre des photos et les partager. Le problème est qu'il est difficile de vraiment s'approprier vos photos et la façon dont elles sont représentées sur les réseaux sociaux de nos jours, nous avons donc décidé de leur faire une place. Vous l'hébergez vous-même, où vous voulez (Netlify, Github Pages...), vous avez le contrôle.
Auparavant, la méthode recommandée pour installer Photo Stream consistait à créer un fork sur le référentiel. À mon avis, ce n'était pas vraiment optimal et étant fan de Docker, j'ai commencé à travailler sur des optimisations pour exécuter Photo Stream dans un conteneur. C'est pourquoi la configuration a été déplacée de _config.yml
vers .env
Ainsi, lors du passage du dépôt initial, vous devrez configurer le fichier .env
en conséquence.
Il y a une image sur Docker Hub que vous pouvez extraire en utilisant :
docker pull waschinski/photo-stream:latest
Vous pouvez également télécharger le fichier docker-compose.yml
, modifier la configuration si nécessaire et utiliser la commande suivante pour exécuter Photo Stream :
docker-compose up -d
Le dossier photos
peut être monté en volume. Assurez-vous de placer vos photos dans un dossier appelé original
.
linux/arm/v6
uniquement) :Prérequis : docker et docker-compose sont installés sur RPI
Dans la section image
de commentaire docker-compose.yml, décommentez la section build
et configurez l'argument BASE_IMAGE
sur arm32v6/ruby:3.1.2-alpine3.16
.
Puis docker-compose build
Puis docker-compose up -d
Récupérez la dernière version sur la page de publication et extrayez-la.
Assurez-vous de remplir les conditions suivantes pour exécuter Photo Stream :
La façon de les installer dépend de votre système d’exploitation. Les utilisateurs Debian utiliseront sudo apt-get install build-essential
tandis que sous MacOS, cela devrait aller avec xcode-select --install
.
Vérifiez si Ruby est déjà installé ( ruby -v
). Si ce n'est pas le cas, vous pouvez suivre les instructions d'installation fournies ici.
Les instructions sur la façon d'installer libvips peuvent être trouvées ici.
Ensuite, vous devrez installer Jekyll (un simple gem install bundler jekyll
devrait suffire). Assurez-vous de répondre à ses exigences ou de les installer également avant de continuer.
Une fois toutes ces conditions remplies, vous pouvez enfin installer toutes les gemmes requises par Photo Stream (vous devriez être dans le dossier Photo Stream) :
bundle install
Forkez ce dépôt et ajoutez vos propres photos au dossier photos/original
. Connectez-vous à votre compte Render ou créez-en un nouveau. Créez un nouveau site statique sur le tableau de bord de rendu. Connectez votre compte Github et sélectionnez votre référentiel de flux de photos. Sélectionnez la branche appropriée et ajustez la commande de construction ( bundle exec jekyll build
) et le répertoire de publication ( _site
). Sous Avancé, vous Add Secret File
et créez un fichier .env
contenant vos variables d'environnement ajustées. Vous pourrez peut-être modifier ce fichier directement dans votre dépôt et ignorer la première étape (ajout d'un fichier secret), mais je n'ai pas testé cela.
Mettez vos photos (non redimensionnées) dans le répertoire photos/original
. En option, vous pouvez leur donner un nom, qui apparaîtra comme titre de la page photo et dans le flux RSS.
Cette commande servira la page statique sur votre machine locale. http://localhost:4000
bundle exec jekyll serve
Vous pouvez également créer votre site de manière statique pour le télécharger sur un hébergeur classique.
bundle exec jekyll build
Téléchargez maintenant le contenu du répertoire _site/ sur votre serveur Web.
Exécutez simplement le script que vous devez exécuter directement à partir du dossier _scripts
comme ceci :
sh ./_script/build-n-lftp.sh
build.sh
construira votre site tandis que rsync.sh
et lftp.sh
le synchroniseront en conséquence. build-n-rsync.sh
et build-n-lftp.sh
effectuent simplement les deux étapes en une. N'oubliez pas d'ajouter votre configuration de synchronisation dans le fichier .env
.
La première chose que vous voulez faire est de modifier quelques éléments dans /.env
:
TITLE
: Le titre de votre flux photo.EMAIL
: Votre adresse email (cette ligne est facultative, vous pouvez la supprimer).AUTHOR_NAME
: Votre nom.AUTHOR_EMAIL
: Votre adresse email (facultatif).AUTHOR_WEBSITE
: Votre site internet (pourrait être l'adresse de ce flux de photos).DESCRIPTION
: Description de votre flux photo.BASEURL
: doit être laissé vide ou supprimé URL
: Où ce flux de photos sera-t-il diffusé (exemple : https://maxvoltar.photo
), ne doit PAS se terminer par / sinon les liens seront foirés.SHOW_RSS_FEED
: Définissez sur 1
ou 0
pour activer ou désactiver l'affichage du bouton de flux RSS.SHOW_OFFICIAL_GITHUB
: défini sur 1
ou 0
pour activer ou désactiver l'affichage du lien vers le référentiel officiel github.DEFAULT_REVERSE_SORT
: réglez ceci sur 1
pour inverser l'ordre de tri des photos et afficher en premier les photos les plus anciennes. La valeur par défaut est 0
.ALLOW_ORDER_SORT_CHANGE
: réglez ceci sur 1
pour permettre aux utilisateurs d'inverser l'ordre de tri des photos.ALLOW_ORIGINAL_DOWNLOAD
: définissez cette valeur sur 1
pour permettre aux utilisateurs de télécharger les photos dans leur taille d'origine.ALLOW_INDEXING
: définissez cette valeur sur 0
pour empêcher les robots d'indexation de votre flux de photos en ajoutant robots
de balises méta. La valeur par défaut est 1
.ALLOW_IMAGE_SHARING
: définissez ceci sur 1
pour permettre aux utilisateurs de partager des images avec des amis. La valeur par défaut est 1
.TWITTER_USERNAME
: Votre nom d'utilisateur Twitter ou supprimez/commentez cette ligne.GITHUB_USERNAME
: Votre nom d'utilisateur Github ou supprimez/commentez cette ligne.INSTAGRAM_USERNAME
: Votre nom d'utilisateur Instagram ou supprimez/commentez cette ligne.SYNCUSER
: Votre nom d'utilisateur utilisé par lftp/rsync dans les scripts shell pour synchroniser votre site avec votre serveur Web.SYNCPASS
: Votre mot de passe utilisé par lftp/rsync dans les scripts shell pour synchroniser votre site avec votre serveur web.SYNCSERVER
: L'URL de votre serveur Web utilisée par lftp/rsync dans les scripts shell avec lesquels votre site sera synchronisé.SYNCFOLDER
: Le dossier de votre serveur Web utilisé par lftp/rsync dans les scripts shell avec lequel votre site sera synchronisé. N'incluez pas la partie @
de vos identifiants sociaux. Les liens vers vos profils Github, Twitter et Instagram ne s'affichent que lorsqu'ils sont définis.
Avant de publier votre site Web, Jekyll redimensionnera vos photos dans 3 compartiments différents :
/photos/large
: Celles-ci ne sont affichées que lorsqu'un utilisateur accède à une page de photos. Par défaut, ceux-ci sont redimensionnés jusqu'à un maximum de 2 048 de largeur et 2 048 de hauteur. Si vous le souhaitez, vous pouvez les modifier en modifiant les valeurs dans /_config.yml
(par défaut, elles ressemblent à ceci : resize_to_limit: [2048, 2048]
)./photos/thumbnail
: Ceux-ci sont utilisés dans la grille. Photo Stream chargera toutes les vignettes au-dessus de la ligne de flottaison, puis davantage à mesure que vous faites défiler vers le bas ; tout cela pour économiser de la bande passante. La taille standard de ceux-ci est de 640 x 640 (max), mais vous pouvez également la modifier si nécessaire./photos/tint
: Ce que vous voyez pendant que la page charge son premier lot de vignettes, également utilisé comme arrière-plan pour les pages de photos.