1 minuto(s) de lectura

Nextcloud es una serie de programas cliente-servidor con el objetivo de crear servicio de alojamiento de archivos. Nextcloud ha evolucionado a un sistema software de colaboración ofreciendo ficheros, calendarios, contactos e incluso Kanban Boards.

Descripcion

La instalación de Nexcloud requiere de un conjunto de servicios para un correcto funcionamiento. La siguiente figura podría resumir nuestro objetivo:

Como vemos, nuestra aplicación requiere de un servidor de bases de datos, un conjunto de volumenes y de exponer los puertos de los servicios.

Procedimiento

En primer lugar, vamos a ver con que estamos trabajando:

~]$ cat /etc/fedora-release
Fedora release 34 (Thirty Four)
~]$ podman --version
podman version 3.3.1

Para empezar vamos a borrar los rastros de antiguas instalacion de gitea.

~]# podman pod rm nextcloud-pod -f

El acceso a Nextcoud se realiza a través de dos puertos expuestos en el contenedor: el puerto 22, para el acceso vía SSH y el 80, donde se publica el servidor web. En nuestro pod vamos a mapear los puertos 22 al 222 y 3000 al 3000 que son puertos libres y disponibles en el host.

Puertos y red

  • 3380 : Puerto conexion HTTP a Nextcloud.
~]# podman network create nextcloud-net
~]# podman pod create -p 3380:3000 -p 332:22 -p 9187:9187 --net nextcloud-net  --name nextcloud-pod

Volumenes

Necesitamos almacenar los datos de gitea en nuestro sistema host, por lo tanto vamos a crear varios volumenes:

  • /var/srv-data/nextcloud/nextcloud-app
  • /var/srv-data/nextcloud/nextcloud-data
  • /var/srv-data/nextcloud/nextcloud-db

Las opcion z indica a podman que añada etiquetas al fichero para que SeLinux perdita su uso compartido.

~]# mkdir -p /var/srv-data/nextcloud/{nextcloud-app,nextcloud-data,nextcloud-db}
~]# podman pod create --name nextcloud-pod -p 4080:80 --network nextcloud-net

~]# podman container run -d --pod nextcloud-pod --name nextcloud_db -e POSTGRES_USER="nextcloud" --volume /var/srv-data/nextcloud/nextcloud-db:/var/lib/postgresql/data:z -e POSTGRES_PASSWORD="db_pass" postgres

~]# podman container run -d --pod nextcloud-pod --name nextcloud_redis redis

~]# podman container run -d --pod nextcloud-pod --name nextcloud_app -e POSTGRES_HOST="localhost" -e POSTGRES_DB="nextcloud" -e POSTGRES_USER="nextcloud" -e POSTGRES_PASSWORD="db_pass" -e NEXTCLOUD_ADMIN_USER="nextcloud" -e NEXTCLOUD_ADMIN_PASSWORD="nc_pass" -e NEXTCLOUD_TRUSTED_DOMAINS="udit76.iaa.es" -e REDIS_HOST="localhost" --volume /var/srv-data/nextcloud/nextcloud-app:/var/www/html:z --volume /var/srv-data/nextcloud/nextcloud-data:/var/www/html/data:z nextcloud

Notas: podman exec –user www-data Nextcloud php occ config:system:set trusted_domains 2 –value=cloud

Referencias

Installing Nextcloud 20 on Fedora Linux with Podman Déployer un POD sur podman