04-02-2024, 12:17 PM
Hola
En este post voy a tratar de explicar como instalar de dos formas distintas a LinkWarden que es un gestor de páginas web.
Evidentemente la idea es tener un LinkWarden ubicado en nuestra nas de QNAP.
Linkwarden necesita de una base de datos PostGreSQL para gestionar los usuarios y enlaces de las páginas web.
Voy a tratar de describir su instalacion de tres formas distintas
1- Stack de dos contenedores, uno con LinkWarden y otro con la BBDD desde Container Station
Lo podemos hacer haciendo los siguientes pasos:
El código a escribir en la ventana es el siguiente:
Evidentemente cambiaremos los valores de las claves, usuarios, base de datos y la ip de la nas a nuestras necesidades.
En la primera parte de la definición detallamos datos de la BBDD postgreSQL y la ubicación de la bbdd en un carpeta de datos persistente "/share/DockerData/linkwarden/db".
En la segunda parte, definimos el contenedor de LinkWarden y su relación con la base de datos del contenedor anterior. Es por ello que tenemos que tener en cuenta las claves y usuarios empleados en el contenedor anterior. Los datos persistentes quedan en la ruta "/share/DockerData/linkwarden"
Tras pulsar el botón de crear, veremos una ventana mostrando el progreso.
Esperamos unos instantes para dar tiempo a la nas a que los cree y los inicie. El primer inicio es mas lento ya que debe crear la BBDD
Pero veremos que el stack ha sido creado y está en funcionamiento.
Si vamos al apartado de containers, veremos que hay dos nuevos de linkwarden
Si vamos a un navegador web y escribimos http://ip_de_nuestra_nas:3000 veremos la pantalla de inicio de LinkWarden
Ahora sólo hemos de crearnos como usuario nuevo pulsando en "Sing up" donde pondremos nuestro usuario y clave de nuestra elección.
2- Stack de dos contenedores, uno con LinkWarden y otro con la BBDD desde el contendor Portainer
Partimos de que tenemos ya instalado y funcionando el contenedor de Portainer
Nos identificamos y vamos al apartado de Stacks
Veremos aquellos que ya tenemos definidos, en el caso de la imagen hay dos
Pulsamos sobre el botón de "+ Add Stack· de la parte superior derecha y se nos abre la pantalla del docker compose
Escribimos el nombre en minúsculas de como lo llamaremos.
Según el ejemplo "linkwarden" y en la ventana del Web Editor escribimos las líneas siguientes (idénticas a las de Container Station):
En la parte inferior pulsamos sobre el botón de "Deploy the stack"
Esperamos y veremos que ya nos aparece en la lista y que está en verde
Si vamos a la lista de contenedores, veremos que hay dos relativos a Linkwarden
Ahora sólo hemos de ir a un navegador web y escribir en la barra de direcciones "http://ip_local_nas:3000" y deberíamos ver la web de inicio de Linkwarden.
3-Con dos contenedores, uno con LinkWarden y otro para PostgreSQL
En este caso lo que haremos es tener un container de PostgreSQL que podremos usar para otros contenedores y uno de Linkwarden.
La diferencia de este sistema es que centralizamos en la PostgreSQL las BBDDs de mas contenedores.
Podemos aprovechar mejor los recursos de nuestra nas ya que será mejor tener una PostgreSQL con varias BBDDs, que no tantas PostgreSQL con una única BBDD como stacks tengamos.
En mi caso ya tenía un contenedor de PostgreSQL funcionando y me he apoyado en el contenedor PGAdmin para la creación de una BBDD y del usuario exclusivos para el uso de Linkwarden.
Es importante que los dockers de PostgreSQL y de Linkwarden estén en la misma red ya que linkwarden ha de "ver" a la base de datos.
Partimos de que ya tenemos a PostgreSQL y a PGAdmin funcionando.
Crearemos un usuario llamado "usuario_en_linkwarden" desde PGAdmin
Escribimos su nombre y notas relativas
En la lengüeta de definición escribimos la contraseña "clave_en_linkwarden"
Luego definimos los permisos de ese usuario en la lengüeta de privilegios
Em la última lengüeta vemos las cadenas de texto de los comandos para crear el usuarios tal como hemos definido anteriormente.
Se pueden escribir esos mismos comandos en la consola de postgresql para crear al usuario.
Una vez creado, lo veremos en la lista del lateral izquierdo.
Luego creamos la BBDD con un asistente similar al anterior
Escribimos el nombre de la BBDD "linkwarden_db" y elegimos del desplegable al usuario "usuario_en_linkwarden"
Si vamos a la lengüeta de SQL, veremos los comandos de creación
Una vez pulsemos al botón de "Salvar" ya veremos en el menú del lateral al nuevo usuario.
Ahora crearemos el contenedor de Linkwarden desde la consola de comandos:
Si el contenedor de postgresql estuviese en un red de dockers llamada "Dockers" hemos de agregar a la cadena anterior "--network=Dockers".
Tras unos instantes, veremos que si vamos al navegador a la direccion "http://ip_de_la_nas:3000" veremos la pantalla de inicio de Linkwarden
Esta web permite a cualquiera que acceda a ella el crearse como usuario.
Si queremos evitarlo, debemos primero crear los usuarios que nos interesen, detener y eliminar el docker y volver a crearlo cambiando en la cadena "-e NEXT_PUBLIC_DISABLE_REGISTRATION=false" por "-e NEXT_PUBLIC_DISABLE_REGISTRATION=true"
Desde consola sería:
Y al acceder a la web la veríamos así
El funcionamiento de la web es muy sencillo permitiendo crear grupos de páginas web y etiquetas de las mismas.
Podéis echar una ojeada mas a fondo en el siguiente enlace https://linkwarden.app/#features
En este post voy a tratar de explicar como instalar de dos formas distintas a LinkWarden que es un gestor de páginas web.
Evidentemente la idea es tener un LinkWarden ubicado en nuestra nas de QNAP.
Linkwarden necesita de una base de datos PostGreSQL para gestionar los usuarios y enlaces de las páginas web.
Voy a tratar de describir su instalacion de tres formas distintas
- Stack de dos contenedores, uno con LinkWarden y otro con la BBDD desde Container Station
- Stack de dos contenedores, uno con LinkWarden y otro con la BBDD desde el contenedor Portainer
- Con dos contenedores, uno con LinkWarden y otro para PostgreSQL
1- Stack de dos contenedores, uno con LinkWarden y otro con la BBDD desde Container Station
Lo podemos hacer haciendo los siguientes pasos:
El código a escribir en la ventana es el siguiente:
Code:
version: "3.5"
services:
postgres:
image: postgres:16-alpine
environment:
POSTGRES_DB: linkwarden_db
POSTGRES_USER: usuario_en_linkwarden
POSTGRES_PASSWORD: clave_en_linkwarden
restart: always
volumes:
- /share/DockerData/linkwarden/db:/var/lib/postgresql/data
linkwarden:
environment:
- DATABASE_URL=postgresql://usuario_en_linkwarden:clave_en_linkwarden@postgres:5432/linkwarden_db
- NEXTAUTH_SECRET=superclavesecreta
- POSTGRES_PASSWORD=clave_en_linkwarden
- NEXTAUTH_URL=http://ip_local_nuestra_nas:3000
- NEXT_PUBLIC_DISABLE_REGISTRATION=false
restart: always
image: ghcr.io/linkwarden/linkwarden:latest
ports:
- 3000:3000
volumes:
- /share/DockerData/linkwarden:/data/data
depends_on:
- postgres
Evidentemente cambiaremos los valores de las claves, usuarios, base de datos y la ip de la nas a nuestras necesidades.
En la primera parte de la definición detallamos datos de la BBDD postgreSQL y la ubicación de la bbdd en un carpeta de datos persistente "/share/DockerData/linkwarden/db".
En la segunda parte, definimos el contenedor de LinkWarden y su relación con la base de datos del contenedor anterior. Es por ello que tenemos que tener en cuenta las claves y usuarios empleados en el contenedor anterior. Los datos persistentes quedan en la ruta "/share/DockerData/linkwarden"
Tras pulsar el botón de crear, veremos una ventana mostrando el progreso.
Esperamos unos instantes para dar tiempo a la nas a que los cree y los inicie. El primer inicio es mas lento ya que debe crear la BBDD
Pero veremos que el stack ha sido creado y está en funcionamiento.
Si vamos al apartado de containers, veremos que hay dos nuevos de linkwarden
Si vamos a un navegador web y escribimos http://ip_de_nuestra_nas:3000 veremos la pantalla de inicio de LinkWarden
Ahora sólo hemos de crearnos como usuario nuevo pulsando en "Sing up" donde pondremos nuestro usuario y clave de nuestra elección.
2- Stack de dos contenedores, uno con LinkWarden y otro con la BBDD desde el contendor Portainer
Partimos de que tenemos ya instalado y funcionando el contenedor de Portainer
Nos identificamos y vamos al apartado de Stacks
Veremos aquellos que ya tenemos definidos, en el caso de la imagen hay dos
Pulsamos sobre el botón de "+ Add Stack· de la parte superior derecha y se nos abre la pantalla del docker compose
Escribimos el nombre en minúsculas de como lo llamaremos.
Según el ejemplo "linkwarden" y en la ventana del Web Editor escribimos las líneas siguientes (idénticas a las de Container Station):
Code:
version: "3.5"
services:
postgres:
image: postgres:16-alpine
environment:
POSTGRES_DB: linkwarden_db
POSTGRES_USER: usuario_en_linkwarden
POSTGRES_PASSWORD: clave_en_linkwarden
restart: always
volumes:
- /share/DockerData/linkwarden/db:/var/lib/postgresql/data
linkwarden:
environment:
- DATABASE_URL=postgresql://usuario_en_linkwarden:clave_en_linkwarden@postgres:5432/linkwarden_db
- NEXTAUTH_SECRET=superclavesecreta
- POSTGRES_PASSWORD=clave_en_linkwarden
- NEXTAUTH_URL=http://ip_local_nuestra_nas:3000
- NEXT_PUBLIC_DISABLE_REGISTRATION=false
restart: always
image: ghcr.io/linkwarden/linkwarden:latest
ports:
- 3000:3000
volumes:
- /share/DockerData/linkwarden:/data/data
depends_on:
- postgres
En la parte inferior pulsamos sobre el botón de "Deploy the stack"
Esperamos y veremos que ya nos aparece en la lista y que está en verde
Si vamos a la lista de contenedores, veremos que hay dos relativos a Linkwarden
Ahora sólo hemos de ir a un navegador web y escribir en la barra de direcciones "http://ip_local_nas:3000" y deberíamos ver la web de inicio de Linkwarden.
3-Con dos contenedores, uno con LinkWarden y otro para PostgreSQL
En este caso lo que haremos es tener un container de PostgreSQL que podremos usar para otros contenedores y uno de Linkwarden.
La diferencia de este sistema es que centralizamos en la PostgreSQL las BBDDs de mas contenedores.
Podemos aprovechar mejor los recursos de nuestra nas ya que será mejor tener una PostgreSQL con varias BBDDs, que no tantas PostgreSQL con una única BBDD como stacks tengamos.
En mi caso ya tenía un contenedor de PostgreSQL funcionando y me he apoyado en el contenedor PGAdmin para la creación de una BBDD y del usuario exclusivos para el uso de Linkwarden.
Es importante que los dockers de PostgreSQL y de Linkwarden estén en la misma red ya que linkwarden ha de "ver" a la base de datos.
Partimos de que ya tenemos a PostgreSQL y a PGAdmin funcionando.
Crearemos un usuario llamado "usuario_en_linkwarden" desde PGAdmin
Escribimos su nombre y notas relativas
En la lengüeta de definición escribimos la contraseña "clave_en_linkwarden"
Luego definimos los permisos de ese usuario en la lengüeta de privilegios
Em la última lengüeta vemos las cadenas de texto de los comandos para crear el usuarios tal como hemos definido anteriormente.
Se pueden escribir esos mismos comandos en la consola de postgresql para crear al usuario.
Una vez creado, lo veremos en la lista del lateral izquierdo.
Luego creamos la BBDD con un asistente similar al anterior
Escribimos el nombre de la BBDD "linkwarden_db" y elegimos del desplegable al usuario "usuario_en_linkwarden"
Si vamos a la lengüeta de SQL, veremos los comandos de creación
Una vez pulsemos al botón de "Salvar" ya veremos en el menú del lateral al nuevo usuario.
Ahora crearemos el contenedor de Linkwarden desde la consola de comandos:
Code:
docker run --name linkwarden -d --restart always -v /share/DockerData/linkwarden:/data/data -p 3000:3000 -e DATABASE_URL=postgresql://usuario_en_linkwarden:clave_linkwarden@postgresql:5432/linkwarden_db -e NEXTAUTH_SECRET=superclavesecreta -e POSTGRES_PASSWORD=clave_linkwarden -e NEXTAUTH_URL=http://ip_local_nas:3000 -e NEXT_PUBLIC_DISABLE_REGISTRATION=false ghcr.io/linkwarden/linkwarden:latest
Tras unos instantes, veremos que si vamos al navegador a la direccion "http://ip_de_la_nas:3000" veremos la pantalla de inicio de Linkwarden
Esta web permite a cualquiera que acceda a ella el crearse como usuario.
Si queremos evitarlo, debemos primero crear los usuarios que nos interesen, detener y eliminar el docker y volver a crearlo cambiando en la cadena "-e NEXT_PUBLIC_DISABLE_REGISTRATION=false" por "-e NEXT_PUBLIC_DISABLE_REGISTRATION=true"
Desde consola sería:
Code:
docker stop linkwarden
docker rm linkwarden
docker run --name linkwarden -d --restart always -v /share/DockerData/linkwarden:/data/data -p 3000:3000 -e DATABASE_URL=postgresql://usuario_en_linkwarden:clave_linkwarden@postgresql:5432/linkwarden_db -e NEXTAUTH_SECRET=superclavesecreta -e POSTGRES_PASSWORD=clave_linkwarden -e NEXTAUTH_URL=http://ip_local_nas:3000 -e NEXT_PUBLIC_DISABLE_REGISTRATION=true ghcr.io/linkwarden/linkwarden:latest
Y al acceder a la web la veríamos así
El funcionamiento de la web es muy sencillo permitiendo crear grupos de páginas web y etiquetas de las mismas.
Podéis echar una ojeada mas a fondo en el siguiente enlace https://linkwarden.app/#features
Un saludo
Agur eta ondo ibili
Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
Agur eta ondo ibili
Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η