====== Briefkasten ====== [[informatica:software:aplicaciones_web:gestor_de_marcadores|Gestor de marcadores]] / favoritos. Desarrollado en [[informatica:programacion:javascript|JavaScript]]. * [[https://briefkastenhq.com|Demo]] * [[https://docs.briefkastenhq.com/|Documentación]] * [[https://github.com/ndom91/briefkasten|Repositorio de código]] {{ https://raw.githubusercontent.com/ndom91/briefkasten/main/public/screenshot_app01.png |}} ===== Características ===== * Guarda marcados a través de la extensión del navegador * Extracción automática de título y descripción * Guardado de URLs arrastrando y soltando * Atajos de teclado * Organización por categorías y etiquetas * Importa y exporta marcadores en formato HTML estándar * Descarga en segundo plano de imágenes para los marcadores * Múltiples vistas * Búsqueda //fulltext// * API REST * Inicio de sesión con OAuth y enlace "Email magic" ===== Instalación ===== ==== Docker ==== Clonamos el repositorio de GitHub: git clone https://github.com/ndom91/briefkasten Dentro del directorio creado, renombramos el fichero ''env.example'' como ''.env'' y editamos al menos: DATABASE_URL= NEXTAUTH_URL=https://briefkasten.midominio.com NEXTAUTH_URL_INTERNAL=http://localhost:3000 NEXTAUTH_SECRET= El valor de ''NEXTAUTH_SECRET'' lo podemos generar con: openssl rand -hex 32 ''DATABASE_URL'' sigue el formato: tipo_base_de_datos://usuario:contraseña@servidor_base_de_datos:puerto/base_de_datos Por ejemplo: * Motor de base de datos: PostgreSQL * Usuario de base de datos: bkAdmin * Contraseña del usuario: briefkasten * Servidor de base de datos: briefkasten * Puerto: 5432 * Base de datos: briefkasten Resultaría en: DATABASE_URL=postgres://bkAdmin:briefkasten@postgres:5432/briefkasten?sslmode=disable Si vamos a usar GitHub como medio de autenticación, debemos crear esa identidad en [[https://github.com/settings/developers|OAuth Apps]] y cubrir de la siguiente manera un par de campos importantes: * Homepage URL: https://briefkasten.midominio.com * Authorization callback URL: https://briefkasten.midominio.com/api/auth/callback/github Modificaremos a nuestro gusto el ''docker-compose.yml'' que incluye el repositorio: version: '3.8' services: postgres: container_name: bk-postgres image: postgres restart: unless-stopped environment: - POSTGRES_USER=bkAdmin - POSTGRES_PASSWORD=briefkasten - POSTGRES_DB=briefkasten ports: - 5432:5432 volumes: - briefkasten-db:/var/lib/postgresql/data app: container_name: bk-app build: . env_file: - .env restart: unless-stopped ports: - 3000:3000 depends_on: - 'postgres' environment: - VIRTUAL_HOST=briefkasten.midominio.com - VIRTUAL_PORT=3000 - LETSENCRYPT_HOST=briefkasten.midominio.com # obligatorio para letsencrypt proxy volumes: briefkasten-db: networks: default: name: alexandria external: true El ''docker-compose.yml'' anterior está editado para poder usarse con un contenedor con nginx que hace de proxy y una red externa de Docker Levantmos los contenedores: docker compose up -d Debemos recrear la base de datos desde el contendor con PostgreSQL: docker exec -it bk-app /bin/bash Y ejecutamos: pnpm db:push Al terminar, salimos del contenedor con ''exit''. Ya podremos acceder a la URL que hayamos configurado para nuestra instancia de Briefkasten.