Crear una Nube Privada con Nextcloud (HTTPS, Cloudflare, Nginx y Docker)

Hola, aquí te dejo los pasos más importantes para realizar esto:

Primero vamos a esta ruta y creamos este directorio:

cd /opt

mkdir nextcloud
cd nextcloud

Creamos este archivo

nano docker-compose.yml

Con este contenido:

version: "3"
volumes:
  nextcloud-data:
  nextcloud-db:
  npm-data:
  npm-ssl:
  npm-db:

networks:
  frontend:
    # add this if the network is already existing!
    # external: true
  backend:

services:
  nextcloud-app:
    image: nextcloud
    restart: always
    volumes:
      - nextcloud-data:/var/www/html
    environment:
      - MYSQL_PASSWORD=replace-with-secure-password
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=nextcloud-db
    networks:
      - frontend
      - backend

  nextcloud-db:
    image: mariadb
    restart: always
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    volumes:
      - nextcloud-db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=replace-with-secure-password
      - MYSQL_PASSWORD=replace-with-secure-password
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
    networks:
      - backend

  npm-app:
    image: jc21/nginx-proxy-manager:latest
    restart: always
    ports:
      - "80:80"
      - "81:81"
      - "443:443"
    environment:
      - DB_MYSQL_HOST=npm-db
      - DB_MYSQL_PORT=3306
      - DB_MYSQL_USER=npm
      - DB_MYSQL_PASSWORD=replace-with-secure-password
      - DB_MYSQL_NAME=npm
    volumes:
      - npm-data:/data
      - npm-ssl:/etc/letsencrypt
    networks:
      - frontend
      - backend

  npm-db:
    image: jc21/mariadb-aria:latest
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=replace-with-secure-password
      - MYSQL_DATABASE=npm
      - MYSQL_USER=npm
      - MYSQL_PASSWORD=replace-with-secure-password
    volumes:
      - npm-db:/var/lib/mysql
    networks:
      - backend

Para instalar docker

apt install docker.io docker-compose -y

Arrancamos el contenedor:

docker-compose up -d

En la parte de nginx, sería la ip local de tu equipo junto al puerto 81

http://192.168.0.162:81

Estas son las credenciales por defecto

admin@example.com
changeme

Para ingresar al contenedor y realizar unos ajustes:

docker exec -it nextcloud_nextcloud-app_1 /bin/bash

Ahora vamos a editar el archivo con este comando:

nano config/config.php

Y agregamos esta línea como indico en el video

'overwriteprotocol' => 'https',

Este código es para poder usar Nextcloud en las aplicaciones de escritorio o móvil, editamos en el proxy inverso como indico en el video

location /.well-known/carddav {
    return 301 $scheme://$host/remote.php/dav;
}

location /.well-known/caldav {
    return 301 $scheme://$host/remote.php/dav;
}

location ^~ /.well-known {
    return 301 $scheme://$host/index.php$uri;
}

El oriden de este código está en la docuemntación oficial de Nextcloud, puedes checarlo aquí:

https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/reverse_proxy_configuration.html

✨ ¿Te gusta mi contenido? Apóyame con una donación para seguir creando más videos útiles.

💕 🔗 Donar aquí: https://www.paypal.com/paypalme/solecito69

¡Gracias por tu apoyo! 🎉

Powered by atecplugins.com