NextCloud с OnlyOffice не открывает ранее сохраненные документы

#docker #nextcloud #onlyoffice

Вопрос:

OnlyOffice не открывает ранее сохраненные документы после выполнения docker-compose down. Мне нужно было увеличить память экземпляра nextcloud (контейнера docker), поэтому я продолжил останавливать все контейнеры, изменять docker-compose и настраивать все заново.

Пока нет проблем с новыми документами, но редактирование ранее сохраненных OnlyOffice открывает пустой документ, кроме того, размеры файлов не изменены (ошибок в консоли нет), в NextCloud по-прежнему отображается КБ.

 version: "2.3"
services:
  nextcloud:
    container_name: nextcloud
    image: nextcloud:latest
    hostname: MYDOMAIN
    stdin_open: true
    tty: true
    restart: always
    expose:
      - "80"
    networks:
      - cloud_network
    volumes:
      - /mnt/apps/nextcloud/data:/var/www/html
    environment:
      - MYSQL_HOST=mariadb
      - PHP_MEMORY_LIMIT=-1
    env_file:
      - db.env
    mem_limit: 8g
    depends_on:
      - mariadb

  mariadb:
    container_name: mariadb
    image: mariadb
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
    restart: always
    networks:
      - cloud_network
    volumes:
      - mariadb_volume:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=SOMEPASSWORD
    env_file:
      - db.env

  onlyoffice:
    container_name: onlyoffice
    image: onlyoffice/documentserver:latest
    stdin_open: true
    tty: true
    restart: always
    networks:
      - cloud_network
    expose:
      - "80"
    volumes:
      #- /mnt/apps/onlyoffice/data:/var/www/onlyoffice/Data
      - office_data_volume:/var/www/onlyoffice/Data
      #- onlyoffice_log_volume:/var/log/onlyoffice
      - office_db_volume:/var/lib/postgresql

  caddy:
    container_name: caddy
    image: abiosoft/caddy:no-stats
    stdin_open: true
    tty: true
    restart: always
    ports:
      - 80:80
      - 443:443
    networks:
      - cloud_network
    environment:
      - CADDYPATH=/certs
      - ACME_AGREE=true
      # CHANGE THESE OR THE CONTAINER WILL FAIL TO RUN
      - CADDY_LETSENCRYPT_EMAIL=MYEMAIL
      - CADDY_EXTERNAL_DOMAIN=MYDOMAIN
    volumes:
      - /mnt/apps/caddy/certs:/certs:rw
      - /mnt/apps/caddy/Caddyfile:/etc/Caddyfile:ro

networks:
  cloud_network:
    driver: "bridge"

volumes:
  office_data_volume:
  office_db_volume:
  mariadb_volume:
 

Ответ №1:

Также обратите внимание, что вы ВСЕГДА должны отключать пользователей перед остановкой / перезапуском вашего контейнера. См. https://github.com/ONLYOFFICE/Docker-DocumentServer#document-server-usage-issues

 sudo docker exec onlyoffice documentserver-prepare4shutdown.sh
 

Ответ №2:

Кажется, что каждый раз, когда контейнеры монтируются в настройке NextCloud OnlyOffice, он генерирует токены для авторизации доступа к документам через заголовки.

Я решил это, добавив третий том docker для сохранения файлов documentserver. К счастью, у меня была резервная копия моих файлов, я удалил контейнеры и добавил их снова, и все это работает сейчас.

— office_config_volume:/etc/onlyoffice/documentserver

 onlyoffice:
    container_name: onlyoffice
    image: onlyoffice/documentserver:latest
    stdin_open: true
    tty: true
    restart: unless-stopped
    networks:
        - cloud_network
    expose:
        - "80"
    volumes:
        - office_data_volume:/var/www/onlyoffice/Data
        - office_db_volume:/var/lib/postgresql
        - office_config_volume:/etc/onlyoffice/documentserver