Herramientas de usuario

Herramientas del sitio


informatica:software:aplicaciones_web:briefkasten

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
informatica:software:aplicaciones_web:briefkasten [2023/10/31 19:22] – creado tempwininformatica:software:aplicaciones_web:briefkasten [2023/10/31 19:40] (actual) – [Docker] tempwin
Línea 27: Línea 27:
 ==== Docker ==== ==== Docker ====
  
 +Clonamos el repositorio de GitHub:
  
 +<code>
 +git clone https://github.com/ndom91/briefkasten
 +</code>
 +
 +Dentro del directorio creado, renombramos el fichero ''env.example'' como ''.env'' y editamos al menos:
 +
 +<code>
 +DATABASE_URL=
 +NEXTAUTH_URL=https://briefkasten.midominio.com
 +NEXTAUTH_URL_INTERNAL=http://localhost:3000
 +NEXTAUTH_SECRET=
 +</code>
 +
 +El valor de ''NEXTAUTH_SECRET'' lo podemos generar con:
 +
 +<code>
 +openssl rand -hex 32
 +</code>
 +
 +''DATABASE_URL'' sigue el formato:
 +
 +<code>
 +tipo_base_de_datos://usuario:contraseña@servidor_base_de_datos:puerto/base_de_datos
 +</code>
 +
 +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:
 +
 +<code>
 +DATABASE_URL=postgres://bkAdmin:briefkasten@postgres:5432/briefkasten?sslmode=disable
 +</code>
 +
 +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:
 +
 +<code yaml>
 +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
 +</code>
 +
 +<WRAP center round info 60%>
 +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
 +</WRAP>
 +
 +Levantmos los contenedores:
 +
 +<code>
 +docker compose up -d
 +</code>
 +
 +Debemos recrear la base de datos desde el contendor con PostgreSQL:
 +
 +<code>
 +docker exec -it bk-app /bin/bash
 +</code>
 +
 +Y ejecutamos:
 +
 +<code>
 +pnpm db:push
 +</code>
 +
 +Al terminar, salimos del contenedor con ''exit''.
 +
 +Ya podremos acceder a la URL que hayamos configurado para nuestra instancia de Briefkasten.
informatica/software/aplicaciones_web/briefkasten.1698776576.txt.gz · Última modificación: por tempwin