edx-stateless.yml 1.78 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
---

# Stateless app server configuration, designed to be used with external mysql,
# mongo, rabbitmq, and elasticsearch services.

- name: Configure instance(s)
  hosts: all
  become: True
  gather_facts: True

  vars:
    migrate_db: 'yes'
    openid_workaround: True
    EDXAPP_LMS_NGINX_PORT: '80'
    ENABLE_ECOMMERCE: False  # Disable ecommerce by default
  roles:

    # Ensure we have no known security vulnerabilities
    - security

    # Server setup
    - swapfile

    # Nginx reverse proxy
    - role: nginx
      nginx_sites:
      - certs
      - cms
      - lms
      - forum
      - xqueue
      nginx_default_sites:
      - lms

    # Main EdX application
    # https://github.com/edx/edx-platform
    - role: edxapp
      celery_worker: True
    - edxapp

    # Discussion forums
    # https://github.com/edx/cs_comments_service
    - forum

    # Notifications service
    # https://github.com/edx/notifier
    - role: notifier
      NOTIFIER_DIGEST_TASK_INTERVAL: '5'

    # XQueue interface for communicating with external grader services
    # https://github.com/edx/xqueue
    - role: xqueue
      update_users: True

    # Certificate generation
    # https://github.com/edx/edx-certificates
    - certs

    # Email sending
    - postfix_queue

    # Ecommerce (optional)
    # https://github.com/edx/ecommerce
    - role: nginx
      nginx_sites:
      - ecommerce
      when: ENABLE_ECOMMERCE
    - role: ecommerce
      when: ENABLE_ECOMMERCE
    - role: ecomworker
      when: ENABLE_ECOMMERCE

    # memcached
    - role: memcache
      when: "'localhost' in ' '.join(EDXAPP_MEMCACHE)"

    # Optional extras
    - role: datadog
      when: COMMON_ENABLE_DATADOG
    - role: splunkforwarder
      when: COMMON_ENABLE_SPLUNKFORWARDER
    - role: newrelic
      when: COMMON_ENABLE_NEWRELIC