diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 978b417148..79fa4d7f82 100755 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,58 +1,130 @@ -version: '2.1' +version: '3.7' -volumes: - broker: - driver: local - app: - driver: local - db: - driver: local - results: - driver: local +networks: + mayan-bridge: + driver: bridge services: - broker: - container_name: mayan-edms-broker - image: healthcheck/rabbitmq - environment: - RABBITMQ_DEFAULT_USER: mayan - RABBITMQ_DEFAULT_PASS: mayan - RABBITMQ_DEFAULT_VHOST: mayan - volumes: - - broker:/var/lib/rabbitmq - results: - container_name: mayan-edms-results - image: healthcheck/redis - volumes: - - results:/data - db: - container_name: mayan-edms-db - image: healthcheck/postgres - environment: - POSTGRES_DB: mayan - POSTGRES_PASSWORD: mayan-password - POSTGRES_USER: mayan - volumes: - - db:/var/lib/postgresql/data - mayan-edms: - container_name: mayan-edms-app - image: mayanedms/mayanedms:latest + app: + build: + context: .. + dockerfile: ./docker/Dockerfile depends_on: - broker: - condition: service_healthy - db: - condition: service_healthy - results: - condition: service_healthy - environment: - MAYAN_BROKER_URL: amqp://mayan:mayan@broker:5672/mayan - MAYAN_CELERY_RESULT_BACKEND: redis://results:6379/0 - MAYAN_DATABASE_ENGINE: django.db.backends.postgresql - MAYAN_DATABASE_HOST: db - MAYAN_DATABASE_NAME: mayan - MAYAN_DATABASE_PASSWORD: mayan-password - MAYAN_DATABASE_USER: mayan + - postgresql + - redis + # Enable to use RabbitMQ + #- rabbitmq + environment: &mayan_env + # Enable to use RabbitMQ + # MAYAN_CELERY_BROKER_URL: amqp://mayan:mayanrabbitpass@broker:5672/mayan + # Disable Redis Broker to use RabbitMQ as Broker + MAYAN_CELERY_BROKER_URL: redis://redis:6379/1 + MAYAN_CELERY_RESULT_BACKEND: redis://redis:6379/0 + MAYAN_DATABASES: "{'default':{'ENGINE':'django.db.backends.postgresql','NAME':'mayan','PASSWORD':'mayandbpass','USER':'mayan','HOST':'postgresql'}}" + image: mayanedms/mayanedms:3.2.6 + networks: + - mayan-bridge ports: - "80:8000" + restart: unless-stopped volumes: - - app:/var/lib/mayan + - /docker-volumes/mayan-edms/media:/var/lib/mayan + + postgresql: + environment: + POSTGRES_DB: mayan + POSTGRES_PASSWORD: mayandbpass + POSTGRES_USER: mayan + image: postgres:9.6 + networks: + - mayan-bridge + restart: unless-stopped + volumes: + - /docker-volumes/mayan-edms/postgres:/var/lib/postgresql/data + + redis: + command: + - redis-server + - --databases + - "2" + - --maxmemory-policy + - allkeys-lru + - --save + - "" + image: redis:5.0 + networks: + - mayan-bridge + restart: unless-stopped + + # Optional services + + # celery_flower: + # command: + # - run_celery + # - flower + # depends_on: + # - postgresql + # - redis + # # Enable to use RabbitMQ + # # - rabbitmq + # environment: + # <<: *mayan_env + # image: mayanedms/mayanedms:3.2.6 + # networks: + # - mayan-bridge + # ports: + # - "5555:5555" + # restart: unless-stopped + + # Enable to use RabbitMQ + # rabbitmq: + # container_name: mayan-edms-rabbitmq + # image: healthcheck/rabbitmq + # environment: + # RABBITMQ_DEFAULT_USER: mayan + # RABBITMQ_DEFAULT_PASS: mayanrabbitpass + # RABBITMQ_DEFAULT_VHOST: mayan + # networks: + # - mayan-bridge + # restart: unless-stopped + # volumes: + # - /docker-volumes/mayan-edms/rabbitmq:/var/lib/rabbitmq + + # Enable to run stand alone workers + # worker_fast: + # command: + # - run_worker + # - fast + # depends_on: + # - postgresql + # - redis + # # Enable to use RabbitMQ + # # - rabbitmq + # environment: + # <<: *mayan_env + # image: mayanedms/mayanedms:3.2.6 + # networks: + # - mayan-bridge + # restart: unless-stopped + # volumes: + # - /docker-volumes/mayan-edms/media:/var/lib/mayan + + # Enable to run stand frontend gunicorn + # frontend: + # command: + # - run_frontend + # depends_on: + # - postgresql + # - redis + # # Enable to use RabbitMQ + # # - rabbitmq + # environment: + # <<: *mayan_env + # image: mayanedms/mayanedms:3.2.6 + # networks: + # - mayan-bridge + # ports: + # - "81:8000" + # restart: unless-stopped + # volumes: + # - /docker-volumes/mayan-edms/media:/var/lib/mayan