## WIP: This is a work in progress. This file is not yet complete. ##
## TODO: ADD JWT Secret
## DOCS/REF: https://github.com/ONLYOFFICE/Docker-DocumentServer/blob/master/docker-compose.yml

version: '2'
services:
  onlyoffice-documentserver:
    image: onlyoffice/documentserver
    container_name: onlyoffice-documentserver
    depends_on:
      - onlyoffice-postgresql
      - onlyoffice-rabbitmq
    environment:
      - DB_TYPE=postgres
      - DB_HOST=onlyoffice-postgresql
      - DB_PORT=5432
      - DB_NAME=onlyoffice
      - DB_USER=onlyoffice
      - AMQP_URI=amqp://guest:guest@onlyoffice-rabbitmq
      # Uncomment strings below to enable the JSON Web Token validation.
      #- JWT_ENABLED=true
      #- JWT_SECRET=secret
      #- JWT_HEADER=Authorization
      #- JWT_IN_BODY=true
    ports:
      - 9003:80
    stdin_open: true
    restart: always
    stop_grace_period: 60s
    volumes:
      - /docker/appdata/onlyoffice/onlyoffice:/var/www/onlyoffice/Data
      - /docker/appdata/onlyoffice/cache:/var/lib/onlyoffice/documentserver/App_Data/cache/files
      - /usr/share/fonts:/usr/share/fonts

  onlyoffice-rabbitmq:
    container_name: onlyoffice-rabbitmq
    image: rabbitmq
    restart: always
    expose:
      - '5672'

  onlyoffice-postgresql:
    container_name: onlyoffice-postgresql
    image: postgres:12
    environment:
      - POSTGRES_DB=onlyoffice
      - POSTGRES_USER=onlyoffice
      - POSTGRES_HOST_AUTH_METHOD=trust
    restart: always
    expose:
      - '5432'
    volumes:
      - /docker/appdata/onlyoffice/postgres:/var/lib/postgresql