# Instalar Nextcloud

## Requisitos

- [Docker Engine](https://wiki.pablomp.es/books/docker-engine/page/instalar-docker-engine "Instalar Docker Engine")
- [Nginx proxy manager](https://wiki.pablomp.es/books/nginx-proxy-manager/page/instalar-nginx-proxy-manager "Instalar nginx proxy manager")
- Un dominio/subdominio

## Instalación

Crear las carpetas `mkdir -p docker/nextcloud`.

Crear el archivo `docker-compose.yml`.

```bash
volumes:
  nextcloud_aio_mastercontainer:
    name: nextcloud_aio_mastercontainer

services:
  nextcloud:
    image: nextcloud/all-in-one:latest
    restart: unless-stopped
    container_name: nextcloud-aio-mastercontainer
    volumes:
      - nextcloud_aio_mastercontainer:/mnt/docker-aio-config
      - /var/run/docker.sock:/var/run/docker.sock:ro
    ports:
      - 8080:8080 # change the port on the left side if it's already in use on your host system.
    environment:
      - APACHE_PORT=11000 # change this port number if 11000 is already in use on your host system.
      - APACHE_DISABLE_REWRITE_IP=1
      - NEXTCLOUD_TRUSTED_DOMAINS=nextcloud.dominio.com 127.0.0.1 # Your domain name + proxy host IP
      - TRUSTED_PROXIES=127.0.0.1 # proxy host IP
      - NEXTCLOUD_DATADIR=/mnt/big_storage/nextcloud
```

Una vez creado ejecutar `docker-compose up -d`.

## Configurar Nginx proxy manager

Acceder a la pagina de Nginx proxy manager y configurar el proxy.

[![image.png](https://wiki.pablomp.es/uploads/images/gallery/2024-08/scaled-1680-/6iWimage.png)](https://wiki.pablomp.es/uploads/images/gallery/2024-08/6iWimage.png)

[![image.png](https://wiki.pablomp.es/uploads/images/gallery/2024-08/scaled-1680-/bftimage.png)](https://wiki.pablomp.es/uploads/images/gallery/2024-08/bftimage.png)

## Configurar Nextcloud AIO

Acceder `direccion-IP:8080`

Poner el dominio que vamos a usar, configurar las aplicaciones que queremos y la hora.

Esperar a que se instale.

Una vez este todo instalado accedemos con el usuario y contraseña que nos ha dado.

[![image.png](https://wiki.pablomp.es/uploads/images/gallery/2024-08/scaled-1680-/R9Yimage.png)](https://wiki.pablomp.es/uploads/images/gallery/2024-08/R9Yimage.png)

En la zona de errores tendremos un error que indica que no tenemos establecida una región de teléfono predeterminada, la establecemos con el siguiente comando:

`sudo docker exec --user www-data nextcloud-aio-nextcloud php occ config:system:set default_phone_region --value="ES"`

### Configurar correo electrónico

Crear una contraseña de aplicación con una cuenta de Gmail.

[![image.png](https://wiki.pablomp.es/uploads/images/gallery/2024-08/scaled-1680-/BJ5image.png)](https://wiki.pablomp.es/uploads/images/gallery/2024-08/BJ5image.png)