Photo Stream é um espaço mais simples para suas fotos inicialmente criado por @maxvoltar e agora mantido por @waschinski, @boerniee e amigos. Fácil de usar, auto-hospedado, sem rastreamento, apenas fotos.
Há uma demonstração deste repositório hospedada em um Plano Gratuito no Render.
Gostamos de tirar fotos e compartilhá-las. O problema é que é difícil realmente possuir suas fotos e como elas são representadas nas mídias sociais atualmente, então decidimos criar um lugar para elas. Você mesmo hospeda, onde quiser (Netlify, Github Pages...), você está no controle.
Anteriormente, a maneira recomendada de instalar o Photo Stream era bifurcar o repositório. Na minha opinião, isso não era o ideal e, sendo um fã do Docker, comecei a trabalhar em otimizações para executar o Photo Stream em um contêiner. É por isso que a configuração foi movida de _config.yml
para .env
portanto, ao mudar do repositório inicial, você terá que configurar o arquivo .env
adequadamente.
Há uma imagem no Docker Hub que você pode extrair usando:
docker pull waschinski/photo-stream:latest
Como alternativa, baixe o arquivo docker-compose.yml
, altere a configuração conforme necessário e use o seguinte comando para executar o Photo Stream:
docker-compose up -d
A pasta photos
pode ser montada como um volume. Certifique-se de colocar suas fotos em uma pasta chamada original
.
linux/arm/v6
):Pré-requisitos: docker e docker-compose estão instalados no RPI
Na seção image
de comentário docker-compose.yml, remova o comentário da seção build
e configure o argumento BASE_IMAGE
para arm32v6/ruby:3.1.2-alpine3.16
.
Então docker-compose build
Então docker-compose up -d
Pegue a versão mais recente na página de lançamento e extraia-a.
Certifique-se de atender aos seguintes requisitos para executar o Photo Stream:
Como instalá-los depende do seu sistema operacional. Os usuários do Debian irão com sudo apt-get install build-essential
enquanto no MacOS você deve estar bem com xcode-select --install
.
Verifique se você já tem o Ruby instalado ( ruby -v
). Caso contrário, você pode seguir as instruções de instalação fornecidas aqui.
Instruções sobre como instalar o libvips podem ser encontradas aqui.
Em seguida, você terá que instalar o Jekyll (um simples gem install bundler jekyll
deve ser suficiente). Certifique-se de atender aos requisitos ou instalá-los também antes de continuar.
Depois que todos esses requisitos forem atendidos, você poderá finalmente instalar todas as joias exigidas pelo Photo Stream (você deve estar na pasta Photo Stream):
bundle install
Bifurque este repositório e adicione suas próprias fotos à pasta photos/original
. Faça login em sua conta Render ou crie uma nova. Crie um novo site estático no Render Dashboard. Conecte sua conta do Github e selecione seu repositório de fluxo de fotos. Selecione o branch correto e ajuste o comando Build ( bundle exec jekyll build
) e o diretório de publicação ( _site
). Em Avançado você Add Secret File
e cria um arquivo .env
contendo suas variáveis de ambiente ajustadas. Você pode alterar esse arquivo diretamente em seu repositório e pular a etapa anterior (adicionar um arquivo secreto), mas não testei isso.
Coloque suas fotos (não redimensionadas) no diretório photos/original
. Opcionalmente, você pode dar um nome a eles, que aparecerá como título da página da foto e no feed RSS.
Este comando servirá a página estática em sua máquina local. http://localhost:4000
bundle exec jekyll serve
Você também pode construir seu site estaticamente para ser carregado em um host regular.
bundle exec jekyll build
Agora carregue o conteúdo do diretório _site/ para o seu servidor web.
Basta executar o script que você precisa executar diretamente da pasta _scripts
assim:
sh ./_script/build-n-lftp.sh
build.sh
construirá seu site enquanto rsync.sh
e lftp.sh
irão sincronizá-lo adequadamente. build-n-rsync.sh
e build-n-lftp.sh
estão simplesmente executando as duas etapas em uma. Não se esqueça de adicionar sua configuração de sincronização no arquivo .env
.
A primeira coisa que você deseja fazer é editar algumas coisas em /.env
:
TITLE
: O título do seu stream de fotos.EMAIL
: Seu endereço de e-mail (esta linha é opcional, você pode removê-la).AUTHOR_NAME
: Seu nome.AUTHOR_EMAIL
: seu endereço de e-mail (opcional).AUTHOR_WEBSITE
: Seu site (pode ser o endereço deste fluxo de fotos).DESCRIPTION
: Descrição do seu fluxo de fotos.BASEURL
: deve ser deixado em branco ou removido URL
: Onde será transmitido este stream de fotos (exemplo: https://maxvoltar.photo
), NÃO deve terminar com / ou os links ficarão bagunçados.SHOW_RSS_FEED
: Defina como 1
ou 0
para ativar ou desativar a exibição do botão de feed RSS.SHOW_OFFICIAL_GITHUB
: Defina como 1
ou 0
para ativar ou desativar a exibição do link para o repositório oficial do github.DEFAULT_REVERSE_SORT
: Defina como 1
para reverter a ordem de classificação das fotos e mostrar as fotos mais antigas primeiro. O padrão é 0
.ALLOW_ORDER_SORT_CHANGE
: Defina como 1
para permitir que os usuários invertam a ordem de classificação das fotos.ALLOW_ORIGINAL_DOWNLOAD
: Defina como 1
para permitir que os usuários baixem as fotos em seu tamanho original.ALLOW_INDEXING
: Defina como 0
para evitar que rastreadores indexem seu fluxo de fotos adicionando metatags robots
. O padrão é 1
.ALLOW_IMAGE_SHARING
: Defina como 1
para permitir que os usuários compartilhem imagens com amigos. O padrão é 1
.TWITTER_USERNAME
: Seu nome de usuário do Twitter ou remova/comente esta linha.GITHUB_USERNAME
: Seu nome de usuário do Github ou remova/comente esta linha.INSTAGRAM_USERNAME
: Seu nome de usuário do Instagram ou remova/comente esta linha.SYNCUSER
: Seu nome de usuário sendo usado por lftp/rsync nos scripts de shell para sincronizar seu site com seu servidor web.SYNCPASS
: Sua senha sendo usada pelo lftp/rsync nos scripts de shell para sincronizar seu site com seu servidor web.SYNCSERVER
: A URL do seu servidor web que está sendo usado pelo lftp/rsync nos scripts de shell onde seu site será sincronizado.SYNCFOLDER
: A pasta em seu servidor web que está sendo usada por lftp/rsync nos scripts de shell onde seu site será sincronizado. Não inclua a parte @
em seus identificadores sociais. Links para seus perfis do Github, Twitter e Instagram só são mostrados quando configurados.
Antes de publicar seu site, Jekyll redimensionará suas fotos em três grupos diferentes:
/photos/large
: São mostrados apenas quando um usuário navega para uma página de fotos. Por padrão, eles são redimensionados para um máximo de 2.048 de largura e 2.048 de altura. Se desejar, você pode alterá-los alterando os valores em /_config.yml
(por padrão, eles se parecem com isto: resize_to_limit: [2048, 2048]
)./photos/thumbnail
: São usados na grade. O Photo Stream carregará todas as miniaturas acima da dobra e mais conforme você rola para baixo; tudo para economizar largura de banda. O tamanho padrão para eles é 640 por 640 (máximo), mas você também pode alterar isso se necessário./photos/tint
: O que você vê enquanto a página carrega seu primeiro lote de miniaturas, também usado como plano de fundo para páginas de fotos.