# from: https://github.com/0k/Docker-DocumentServer (6.1.0)
docker-image: docker.0k.io/oods:2.0.0
data-resources:
  - /var/www/onlyoffice/Data
  - /var/log/onlyoffice
  ## not documented but found in entrypoint and docker inspect
  - /var/lib/onlyoffice
  - /var/lib/postgres
  - /var/lib/rabbitmq
  - /var/lib/redis
  - /usr/share/fonts/truetype/custom
config-resources:
  - /etc/onlyoffice/documentserver

uses:
  nextcloud-app:
    #constraint: required | recommended | optional
    #auto: pair | summon | none ## default: pair
    constraint: required
    auto: pair
    solves:
      interface: "UI server"

  ## XXXvlab: public access should NOT be necessary, but seem the only way to make
  ## it work: https://dev.onlyoffice.org/viewtopic.php?t=19272
  web-proxy:
    #constraint: required | recommended | optional
    #auto: pair | summon | none ## default: pair
    constraint: required
    auto: summon
    solves:
      proxy: "Public access"
    default-options:
      target: !var-expand ${MASTER_BASE_SERVICE_NAME}:80

  postgres-database:
    constraint: required
    auto: summon
    solves:
      database: "main storage"

  ## XXXvlab: this should not be necessary as official documentation
  ## seems to explain that all data are either logs or caches. But we
  ## had issues with onlyoffice not sending back modifications to the
  ## filesystem. With some tweaks, we can sometimes gets the data from
  ## application cache.  So for now, we must include this data to
  ## backup.
  backup:
    constraint: recommended
    auto: pair
    solves:
      backup: "Automatic regular backups of dumps"
    default-options:
      ## First pattern matching wins, no pattern matching includes.
      ## include-patterns are checked first, then exclude-patterns
      ## Patterns rules:
      ##  - ending / for directory
      ##  - '*' authorized
      ##  - must start with a '/', will start from $SERVICE_DATASTORE
      include-patterns:
        - /var/lib/onlyoffice/