En mi travesía de pasar a ser un usuarios mas de PROXMOX, me tocó realizar un backup de todos los servicios que tenia corriendo en mi PC Linux para posterior restaurar en un contenedor LXC (docker) de proxmox. Uno de estos servicios era Nextcloud que tenia corriendo bajo docker y hoy les quiero compartir.

Backup

1.- Realizar backup de la BD

Ubicamos la imagen de la BD docker y ejecutamos el siguiente comando:

docker exec my-mysql-bd-nextcloud sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /path-backup/backup-nextcloud.sql
  • docker exec:
    • docker exec se utiliza para ejecutar un comando en un contenedor Docker que ya está en ejecución.
    • my-mysql-bd-nextcloud es el nombre del contenedor en el que deseas ejecutar el comando. Este contenedor debe estar corriendo.
  • sh -c: Aquí se utiliza el shell (sh) para ejecutar el comando mysqldump dentro del contenedor. La opción -c indica que el siguiente argumento es un comando completo que debe ejecutarse.
  • /path-backup/backup-nextcloud.sql: Este es el archivo en el sistema de archivos del host donde se guardará la copia de seguridad de las bases de datos. Aquí, debes reemplazar /path-backup/ con la ruta en tu sistema donde quieras almacenar el archivo backup-nextcloud.sql

2.- Realizar backup del sistema de archivos

tar -czpvf backup.tar.gz nextcloud/
  • -c: Crea un nuevo archivo tar.
  • -z: Comprime usando gzip.
  • -p: Preserva los permisos.
  • -v: Muestra detalles de los archivos que se están empaquetando.
  • -f: Especifica el nombre del archivo de salida (backup.tar.gz).

Guardamos estos 2 backups en un lugar seguro y estamos listos para realizar un restore.

Restore

1.- Restore de la BD

Copiamos nuestro backup-nextcloud.sql al host nuevo en el path donde tenemos nuestro docker-compose.yaml

Debemos modificar nuestro docker-compose.yaml para indicar al servicio de BD que emplee nuestro backup-nextcloud.sql al iniciar por primera vez .

db:
    image: mysql:8.0
    volumes:
      - db_data:/var/lib/mysql
      - ./nextcloud-backup.sql:/docker-entrypoint-initdb.d/nextcloud-backup.sql

2.- Restore del sistema de archivos

Copiamos nuestro backup.tar.gz al host nuevo en el path donde tenemos nuestro docker-compose.yaml y procedemos a descomprimir:

tar -xzpvf backup.tar.gz

-x: Extrae los archivos del archivo comprimido.

3.- Ejecutar nuestro docker compose

docker compose up -d

Ejemplo de docker compose nextcloud

services:
  db:
    image: mysql:8.0
    volumes:
      - db_data:/var/lib/mysql
      - ./nextcloud-backup.sql:/docker-entrypoint-initdb.d/nextcloud-backup.sql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: admin
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: admin

  redis-nextcloud:
    image: redis:alpine
    restart: always

  app:
    image: nextcloud:26.0.1
    ports:
      - "80:80"
    volumes:
      - ./nextcloud:/var/www/html
    restart: always
    links:
      - db
    depends_on:
      - redis-nextcloud
    environment:
      MYSQL_HOST: db
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: admin
      REDIS_HOST: redis-nextcloud
      #NEXTCLOUD_TRUSTED_DOMAINS: midominio.com
      #TRUSTED_PROXIES: proxy ejm ip nginx-proxy
      #APACHE_DISABLE_REWRITE_IP: 1 #si se tiene un proxy nginx

volumes:
  db_data:

Espero les sea de utilidad esta guia, saludos.

Entradas relacionadas

9 comentarios en "Backup y Restore Nextcloud (docker)"

  1. Разыскиваете проверенную помощь в наведении порядка вашей в Санкт-Петербурге? Наша команда специалистов дает гарантию чистоту и порядок в вашем доме! Мы применяем только безопасные для здоровья и эффективные средства, чтобы вы могли наслаждаться свежестью без хлопот. Перемещайтесь к Услуги клининга в СПб Не прозевайте шанс сделать свою жизнь проще и комфортнее.

  2. Основы программирования контроллеров Siemens, для всех желающих.

    Лучшие практики программирования контроллеров Siemens, изучаем.

    Преимущества TIA Portal в программировании контроллеров Siemens, для быстрого освоения.

    Ошибки при программировании контроллеров Siemens, распространенные проблемы.

    Проектирование автоматизации с контроллерами Siemens, для достижения успеха.

    Сравнение контроллеров Siemens, для вашего проекта.

    Лучшие языки программирования для контроллеров Siemens, рекомендации.

    Лучшие решения автоматизации с контроллерами Siemens, примеры.

    Современные тенденции в программировании контроллеров Siemens, в ближайшее время.

    Разработка пользовательских интерфейсов для контроллеров Siemens, для работы.
    Программирование контроллеров сименс programmirovanie-kontroller.ru#Программирование-контроллеров-сименс – programmirovanie-kontroller.ru .

  3. Для підтримання чистоти та гігієни у ванній кімнаті незамінними є компактні смітнички для ванної ukrbeautystyle.com.ua. Вони поєднують функціональність із стильним дизайном.

  4. Измучились от пыли и хаоса? Наша компания в Санкт-Петербурге предлагает профессиональные услуги по наведению порядка для вашего дома и офиса. Мы используем только экологически чистые средства и даём слово идеальный порядок! Жмите https://klining-uslugi24.ru/ По какой причине стоит сотрудничать именно с нами? Быстрая и качественная работа, персонализированное отношение к каждому клиенту и привлекательные расценки. Доверьте уборку профессионалам и получайте удовольствие от свежести без лишних усилий!

Responder a MichaelMah 3 j Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *