El atareao atareao  

Como alojar las fotografías en tu propio servidor

La verdad es que no las tengo todas conmigo con esto de tener mis fotografías en Google Fotos. Y no lo digo por el hecho de Google Fotos, si no por el simple hecho de depender de un tercero. Y es que últimamente no tengo mas que disgustos con los servicios de terceros. Depender de un tercero es lo que tiene, que estás a su servicio. Así, que de nuevo me he puesto con el asunto de alojar las fotografías en tu propio servidor.

Por el momento voy a duplicar alojamiento. Así voy a mantener las fotografías tanto en Google Photos, como en Photoprism, y mas adelante ya veremos.

Como alojar las fotografías en tu propio servidor

Como alojar las fotografías en tu propio servidor

Sobre Photoprism

Ya te hablé en detalle sobre este servicio en el episodio 220 del podcast titulado tu propio Google Photos con Photoprism y Traefik.

El objetivo de este podcast, no es tanto centrarme en la instalación de Photoprism, sino en la infraestructura necesaria, y por supuesto y sobre todo, en lo referente a la sincronización con Android.

Sobre la infraestructura para alojar las fotografías

En mi caso lo tengo claro. El alojamiento lo voy a mantener en el VPS, pero, en tu caso, es posible que quieras hacerlo en una Raspberry, o en un servidor que tengas en casa o en otro lugar. Esto depende de ti, evidentemente. En cualquier caso, voy a poner ambas soluciones y ya tu decides exactamente lo que quieres hacer.

Por supuesto, parto de que tu vas a querer acceder a Photoprim desde cualquier parte del mundo. Es decir, que Photoprism estará expuesto al exterior. En el caso de un VPS, está claro, pero en el caso de que lo tengas en tus propias instalaciones, tendrás que apuntar desde el router de casa hasta el servidor, de forma que cualquier llamada al puerto 80 y al puerto 443 del router, vayan a los puertos que tu consideres de tu servidor.

DNS dinámico

Si lo alojas en un VPS no te hace falta, un DNS dinámico, pero si lo alojas en tu casa, o otro lugar detrás de una IP dinámica, necesitas necesariamente tener un DNS dinámico. Si este es tu caso, te recomiendo que le des un vistazo al artículo una puerta a tu Raspberry teniendo IP dinámica del tutorial sobre tu nube en la Raspberry.

En este artículo del tutorial te explico con detalle como lo tienes que configurar para que todo funcione correctamente. Pero recuerda, que aquí vamos a gestionarlo con un proxy inverso, por los motivos que te he comentado anteriormente.

Proxy inverso

En cualquier caso, voy a utilizar un proxy inverso, por dos razones. La primera porque seguro que vas a querer alojar mas servicios, y no solo Photoprism. Y la segunda de las razones y mucho mas importante, para gestionar los certificados seguros.

Lo cierto es que hace un mes o un par de meses, estaba preparando un vídeo para sobre como obtener los certificados autofirmados de Let’s encrypts y casi me da un pasmo. ¿Te crees que me acordaba?¿Te crees que lo conseguí?. Pues no, no lo conseguí, finalmente abandoné.

Hace tanto tiempo que no me encargo de los certificados que se me hizo muy cuesta arriba. Lo cierto es que durante los últimos años, Traefik ha sido el encargado de hacer todo esto de los certificados, y para mi es completamente transparente. Vamos que no me entero de nada.

En este caso y para variar, en lugar de utilizar Traefik como proxy inverso, me voy a decantar por Caddy, por cuestiones de simplicidad.

Así que te pongo primero el archivo docker-compose.yml de caddy,

version: "3.7"
services:
  caddy:
    image: lucaslorentz/caddy-docker-proxy:ci-alpine
    ports:
      - 80:80
      - 443:443
    environment:
      - CADDY_INGRESS_NETWORKS=caddy
    networks:
      - caddy
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - caddy_data:/data
    restart: unless-stopped

networks:
  caddy:
    external: true

volumes:
  caddy_data: {}

Y a continuación el de Photoprism. En este caso, ojo que está con sqlite, si quieres utilizar MariaDB tienes que realizar algunas modificaciones sobre el mismo,

version: '3.5'

services:
  photoprism:
    image: photoprism/photoprism:latest
    restart: unless-stopped
    security_opt:
      - seccomp:unconfined
      - apparmor:unconfined
    healthcheck: # Optional
      test: "photoprism status"
      interval: 60s
      timeout: 15s
      retries: 5
    environment:
      PHOTOPRISM_DEBUG: "false"
      PHOTOPRISM_PUBLIC: "false"
      PHOTOPRISM_READONLY: "false"
      PHOTOPRISM_UPLOAD_NSFW: "true"
      PHOTOPRISM_DETECT_NSFW: "false"
      PHOTOPRISM_EXPERIMENTAL: "false"
      PHOTOPRISM_SITE_URL: "https://photoprism.tuservidor.es/"
      PHOTOPRISM_SITE_TITLE: "PhotoPrism"
      PHOTOPRISM_SITE_CAPTION: "Browse Your Life"
      PHOTOPRISM_SITE_DESCRIPTION: ""
      PHOTOPRISM_SITE_AUTHOR: ""
      PHOTOPRISM_SETTINGS_HIDDEN: "false"
      PHOTOPRISM_ADMIN_PASSWORD: "contraseñasupersecreta"
      PHOTOPRISM_DATABASE_DRIVER: "sqlite"
      PHOTOPRISM_SIDECAR_JSON: "true"
      PHOTOPRISM_SIDECAR_YAML: "true"
      PHOTOPRISM_THUMB_FILTER: "lanczos"
      PHOTOPRISM_THUMB_UNCACHED: "false"
      PHOTOPRISM_THUMB_SIZE: 2048
      PHOTOPRISM_THUMB_SIZE_UNCACHED: 7680
      PHOTOPRISM_JPEG_SIZE: 7680
    volumes:
      - "./Pictures:/photoprism/originals"
      - "./Storage:/photoprism/import"
      - "./Import:/photoprism/import"
    labels:
      caddy: photoprism.tuservidor.es
      caddy.reverse_proxy: "{{upstreams 2342}}"
    networks:
      - caddy

networks:
  caddy:
    external: true

Aunque ahora que lo he pegado aquí, creo sinceramente que la configuración debería ir en un archivo específico, para evitar

Con estos dos archivos docker-compose.yml ya lo tienes listo para levantar tu servicio de fotografías.

La parte de mi equipo

Conectar esto con Linux es realmente sencillo, porque al final simplemente se trata de compartir un directorio, con lo que como bien sabes, tienes docenas de forma de hacerlo.

La parte de Android

Para la parte de Android, te recomiendo una interesante aplicación que te va a permitir sincronizar todas tus fotografías entre PhotoPrism y Android de forma relativamente sencilla. Esta aplicación se llama PhotoSync y la tienes disponible en Google Play.

Entre otras características, esta aplicación te permite realizar una sincronización manual, o bien, una sincronización cada vez que realices una fotografía, al mas puro estilo de los servicios de terceros.


Imagen de portada de Sarandy Westfall

La entrada Como alojar las fotografías en tu propio servidor aparece primero en Atareao.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.