services: onlyoffice-documentserver: build: context: . image: onlyoffice/documentserver container_name: onlyoffice-documentserver depends_on: - onlyoffice-postgresql - onlyoffice-rabbitmq env_file: - .env environment: - DB_TYPE=postgres - DB_HOST=onlyoffice-postgresql - DB_PORT=5432 - DB_NAME=onlyoffice - DB_USER=onlyoffice - AMQP_URI=amqp://guest:guest@onlyoffice-rabbitmq - JWT_ENABLED=true - JWT_SECRET=${ONLYOFFICE_JWT_SECRET} - JWT_HEADER= networks: - productivity healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/info/info.json"] interval: 30s retries: 5 start_period: 60s timeout: 10s stdin_open: true restart: always stop_grace_period: 60s volumes: - /var/www/onlyoffice/Data - /var/log/onlyoffice - /var/lib/onlyoffice/documentserver/App_Data/cache/files - /var/www/onlyoffice/documentserver-example/public/files - /usr/share/fonts onlyoffice-rabbitmq: container_name: onlyoffice-rabbitmq image: rabbitmq:3 restart: always networks: - productivity healthcheck: test: ["CMD", "rabbitmq-diagnostics", "status"] interval: 10s retries: 3 start_period: 10s timeout: 10s onlyoffice-postgresql: container_name: onlyoffice-postgresql image: postgres:15 environment: - POSTGRES_DB=onlyoffice - POSTGRES_USER=onlyoffice - POSTGRES_HOST_AUTH_METHOD=trust restart: always networks: - productivity volumes: - postgresql_data:/var/lib/postgresql healthcheck: test: ["CMD-SHELL", "pg_isready -U onlyoffice"] interval: 10s retries: 3 start_period: 10s timeout: 10s volumes: postgresql_data: networks: productivity: external: true