開発

Open edXの設定ファイル調査


設定ファイルの場所

/edx/app/edxapp/edx-platform/lms/envs
にいろいろとある。

気になったファイルの場所

/edx/app/edxapp$ ls
cms.auth.json cms_gunicorn.py edxapp_env lms.auth.json lms_gunicorn.py venvs
cms.env.json data edx-platform lms.env.json ruby_env

lms.env.jsonの中身

$ cat lms.env.json 
                                     
                                                                                                                         
                 
                 
                                                            {
    "ANALYTICS_DASHBOARD_URL": "http://localhost:18110/courses", 
    "ANALYTICS_DATA_URL": "", 
    "ANALYTICS_SERVER_URL": "", 
    "BOOK_URL": "", 
    "BUGS_EMAIL": "bugs@example.com", 
    "BULK_EMAIL_DEFAULT_FROM_EMAIL": "no-reply@example.com", 
    "BULK_EMAIL_EMAILS_PER_TASK": 500, 
    "BULK_EMAIL_LOG_SENT_EMAILS": false, 
    "CACHES": {
        "celery": {
            "BACKEND": "django.core.cache.backends.memcached.MemcachedCache", 
            "KEY_FUNCTION": "util.memcache.safe_key", 
            "KEY_PREFIX": "celery", 
            "LOCATION": [
                "localhost:11211"
            ], 
            "TIMEOUT": "7200"
        }, 
        "course_structure_cache": {
            "BACKEND": "django.core.cache.backends.memcached.MemcachedCache", 
            "KEY_FUNCTION": "util.memcache.safe_key", 
            "KEY_PREFIX": "course_structure", 
            "LOCATION": [
                "localhost:11211"
            ], 
            "TIMEOUT": "7200"
        }, 
        "default": {
            "BACKEND": "django.core.cache.backends.memcached.MemcachedCache", 
            "KEY_FUNCTION": "util.memcache.safe_key", 
            "KEY_PREFIX": "default", 
            "LOCATION": [
                "localhost:11211"
            ], 
            "VERSION": "1"
        }, 
        "general": {
            "BACKEND": "django.core.cache.backends.memcached.MemcachedCache", 
            "KEY_FUNCTION": "util.memcache.safe_key", 
            "KEY_PREFIX": "general", 
            "LOCATION": [
                "localhost:11211"
            ]
        }, 
        "mongo_metadata_inheritance": {
            "BACKEND": "django.core.cache.backends.memcached.MemcachedCache", 
            "KEY_FUNCTION": "util.memcache.safe_key", 
            "KEY_PREFIX": "mongo_metadata_inheritance", 
            "LOCATION": [
                "localhost:11211"
            ], 
            "TIMEOUT": 300
        }, 
        "staticfiles": {
            "BACKEND": "django.core.cache.backends.memcached.MemcachedCache", 
            "KEY_FUNCTION": "util.memcache.safe_key", 
            "KEY_PREFIX": "edx-ubuntutest4_general", 
            "LOCATION": [
                "localhost:11211"
            ]
        }
    }, 
    "CAS_ATTRIBUTE_CALLBACK": "", 
    "CAS_EXTRA_LOGIN_PARAMS": "", 
    "CAS_SERVER_URL": "", 
    "CDN_VIDEO_URLS": {}, 
    "CELERY_BROKER_HOSTNAME": "localhost", 
    "CELERY_BROKER_TRANSPORT": "amqp", 
    "CELERY_BROKER_VHOST": "", 
    "CERT_QUEUE": "certificates", 
    "CMS_BASE": "", 
    "CODE_JAIL": {
        "limits": {
            "CPU": 1, 
            "FSIZE": 1048576, 
            "PROXY": 0, 
            "REALTIME": 3, 
            "VMEM": 536870912
        }, 
        "python_bin": "/edx/app/edxapp/venvs/edxapp-sandbox/bin/python", 
        "user": "sandbox"
    }, 
    "COMMENTS_SERVICE_KEY": "password", 
    "COMMENTS_SERVICE_URL": "http://localhost:18080", 
    "CONTACT_EMAIL": "info@example.com", 
    "CORS_ORIGIN_ALLOW_ALL": false, 
    "CORS_ORIGIN_WHITELIST": [], 
    "COURSES_WITH_UNSAFE_CODE": [], 
    "CROSS_DOMAIN_CSRF_COOKIE_DOMAIN": "", 
    "CROSS_DOMAIN_CSRF_COOKIE_NAME": "", 
    "DEFAULT_FEEDBACK_EMAIL": "feedback@example.com", 
    "DEFAULT_FILE_STORAGE": "django.core.files.storage.FileSystemStorage", 
    "DEFAULT_FROM_EMAIL": "registration@example.com", 
    "DEPRECATED_ADVANCED_COMPONENT_TYPES": [], 
    "ECOMMERCE_API_URL": "https://www-internal.example.com/api", 
    "ECOMMERCE_PUBLIC_URL_ROOT": "https://www.example.com", 
    "EDXMKTG_USER_INFO_COOKIE_NAME": "edx-user-info", 
    "EDXNOTES_INTERNAL_API": "http://localhost:18120/api/v1", 
    "EDXNOTES_PUBLIC_API": "http://localhost:18120/api/v1", 
    "EMAIL_BACKEND": "django.core.mail.backends.smtp.EmailBackend", 
    "EMAIL_HOST": "localhost", 
    "EMAIL_PORT": 25, 
    "EMAIL_USE_TLS": false, 
    "FEATURES": {
        "AUTH_USE_OPENID_PROVIDER": true, 
        "AUTOMATIC_AUTH_FOR_TESTING": false, 
        "CERTIFICATES_ENABLED": true, 
        "ENABLE_COMBINED_LOGIN_REGISTRATION": true, 
        "ENABLE_CORS_HEADERS": false, 
        "ENABLE_COUNTRY_ACCESS": false, 
        "ENABLE_CROSS_DOMAIN_CSRF_COOKIE": false, 
        "ENABLE_DISCUSSION_HOME_PANEL": true, 
        "ENABLE_DISCUSSION_SERVICE": true, 
        "ENABLE_EDXNOTES": false, 
        "ENABLE_INSTRUCTOR_ANALYTICS": false, 
        "ENABLE_MKTG_SITE": false, 
        "ENABLE_ONLOAD_BEACON": false, 
        "ENABLE_S3_GRADE_DOWNLOADS": true, 
        "ENABLE_THIRD_PARTY_AUTH": false, 
        "ENABLE_VIDEO_BEACON": false, 
        "ENABLE_VIDEO_UPLOAD_PIPELINE": false, 
        "PREVIEW_LMS_BASE": "", 
        "SUBDOMAIN_BRANDING": false, 
        "SUBDOMAIN_COURSE_LISTINGS": false, 
        "USE_CUSTOM_THEME": false
    }, 
    "FEEDBACK_SUBMISSION_EMAIL": "", 
    "FILE_UPLOAD_STORAGE_BUCKET_NAME": "edxuploads", 
    "FILE_UPLOAD_STORAGE_PREFIX": "submissions_attachments", 
    "FINANCIAL_REPORTS": {
        "BUCKET": null, 
        "ROOT_PATH": "sandbox", 
        "STORAGE_TYPE": "localfs"
    }, 
    "FOOTER_ORGANIZATION_IMAGE": "images/default-theme/logo.png", 
    "GITHUB_REPO_ROOT": "/edx/var/edxapp/data", 
    "GIT_REPO_DIR": "/edx/var/edxapp/course_repos", 
    "GRADES_DOWNLOAD": {
        "BUCKET": "edx-grades", 
        "ROOT_PATH": "/tmp/edx-s3/grades", 
        "STORAGE_TYPE": "localfs"
    }, 
    "HOSTNAME_MODULESTORE_DEFAULT_MAPPINGS": {
        "preview\\.": "draft-preferred"
    }, 
    "JWT_EXPIRATION": 30, 
    "JWT_ISSUER": "https:///oauth2", 
    "LANGUAGE_CODE": "en", 
    "LMS_BASE": "", 
    "LOCAL_LOGLEVEL": "INFO", 
    "LOGGING_ENV": "sandbox", 
    "LOG_DIR": "/edx/var/logs/edx", 
    "MEDIA_ROOT": "/edx/var/edxapp/media/", 
    "MEDIA_URL": "/media/", 
    "MICROSITE_CONFIGURATION": {}, 
    "MICROSITE_ROOT_DIR": "/edx/app/edxapp/edx-microsite", 
    "MKTG_URLS": {}, 
    "MKTG_URL_LINK_MAP": {}, 
    "MOBILE_STORE_URLS": {}, 
    "OAUTH_ENFORCE_SECURE": true, 
    "OAUTH_OIDC_ISSUER": "https:///oauth2", 
    "ONLOAD_BEACON_SAMPLE_RATE": 0.0, 
    "ORA2_FILE_PREFIX": "default_env-default_deployment/ora2", 
    "PAID_COURSE_REGISTRATION_CURRENCY": [
        "usd", 
        "$"
    ], 
    "PAYMENT_SUPPORT_EMAIL": "billing@example.com", 
    "PDF_RECEIPT_BILLING_ADDRESS": "Fake Billing Services\n123 Fake St.\nNotaplaceshire, XX 00000\n", 
    "PDF_RECEIPT_COBRAND_LOGO_PATH": "", 
    "PDF_RECEIPT_DISCLAIMER_TEXT": "THIS IS A DISCLAIMER ABOUT OUR STUFF. ALL OUR CONTENT ARE BELONG TO US. YOU HAVE NO CHANCE TO SURVIVE MAKE YOUR TIME.\n", 
    "PDF_RECEIPT_FOOTER_TEXT": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse pretium odio nec sodales dictum. Vestibulum eget sollicitudin lorem. In mattis accumsan risus ac ultrices.\n", 
    "PDF_RECEIPT_LOGO_PATH": "", 
    "PDF_RECEIPT_TAX_ID": "00-0000000", 
    "PDF_RECEIPT_TAX_ID_LABEL": "fake Tax ID", 
    "PDF_RECEIPT_TERMS_AND_CONDITIONS": "Here are some fake terms and conditions that say when payment is due and stuff. For more info, see www.fakeschoolX.org/terms-and-conditions\n", 
    "PERFORMANCE_GRAPHITE_URL": "SetPerformanceGraphiteHostName", 
    "PLATFORM_NAME": "Your Platform Name Here", 
    "PRESS_EMAIL": "press@example.com", 
    "PROFILE_IMAGE_BACKEND": {
        "class": "storages.backends.overwrite.OverwriteStorage", 
        "options": {
            "base_url": "/media/profile-images/", 
            "location": "/edx/var/edxapp/media/profile-images/"
        }
    }, 
    "PROFILE_IMAGE_MAX_BYTES": 1048576, 
    "PROFILE_IMAGE_MIN_BYTES": 100, 
    "REGISTRATION_EXTRA_FIELDS": {
        "city": "hidden", 
        "country": "hidden", 
        "gender": "optional", 
        "goals": "optional", 
        "honor_code": "required", 
        "level_of_education": "optional", 
        "mailing_address": "optional", 
        "year_of_birth": "optional"
    }, 
    "SEGMENT_IO": false, 
    "SEGMENT_IO_LMS": false, 
    "SERVER_EMAIL": "devops@example.com", 
    "SESSION_COOKIE_DOMAIN": "", 
    "SESSION_COOKIE_NAME": "sessionid", 
    "SITE_NAME": "localhost", 
    "SOCIAL_MEDIA_FOOTER_URLS": {}, 
    "STATIC_ROOT_BASE": "/edx/var/edxapp/staticfiles", 
    "STATIC_URL_BASE": "/static/", 
    "STUDIO_NAME": "Studio", 
    "STUDIO_SHORT_NAME": "Studio", 
    "SUBDOMAIN_BRANDING": {}, 
    "SYSLOG_SERVER": "", 
    "TECH_SUPPORT_EMAIL": "technical@example.com", 
    "TENDER_DOMAIN": null, 
    "TENDER_SUBDOMAIN": null, 
    "THEME_NAME": "", 
    "TIME_ZONE": "America/New_York", 
    "UNIVERSITY_EMAIL": "university@example.com", 
    "VIDEO_CDN_URL": {
        "EXAMPLE_COUNTRY_CODE": "http://example.com/edx/video?s3_url="
    }, 
    "VIDEO_UPLOAD_PIPELINE": {
        "BUCKET": "", 
        "ROOT_PATH": ""
    }, 
    "VIRTUAL_UNIVERSITIES": [], 
    "WIKI_ENABLED": true, 
    "XBLOCK_FS_STORAGE_BUCKET": null, 
    "XBLOCK_FS_STORAGE_PREFIX": null, 
    "XBLOCK_SETTINGS": {}, 
    "ZENDESK_URL": ""
}

lms.auth.jsonの中身

$ cat lms.auth.json 
         
                                     
                     
                       
        {
    "ANALYTICS_API_KEY": "", 
    "ANALYTICS_DATA_TOKEN": "", 
    "AWS_ACCESS_KEY_ID": null, 
    "AWS_SECRET_ACCESS_KEY": null, 
    "AWS_STORAGE_BUCKET_NAME": "edxuploads", 
    "CC_PROCESSOR": {
        "CyberSource": {
            "MERCHANT_ID": "", 
            "ORDERPAGE_VERSION": "7", 
            "PURCHASE_ENDPOINT": "", 
            "SERIAL_NUMBER": "", 
            "SHARED_SECRET": ""
        }, 
        "CyberSource2": {
            "ACCESS_KEY": "", 
            "PROFILE_ID": "", 
            "PURCHASE_ENDPOINT": "", 
            "SECRET_KEY": ""
        }
    }, 
    "CC_PROCESSOR_NAME": "CyberSource2", 
    "CELERY_BROKER_PASSWORD": "celery", 
    "CELERY_BROKER_USER": "celery", 
    "CONTENTSTORE": {
        "ADDITIONAL_OPTIONS": {}, 
        "DOC_STORE_CONFIG": {
            "collection": "modulestore", 
            "db": "edxapp", 
            "host": [
                "localhost"
            ], 
            "password": "password", 
            "port": 27017, 
            "ssl": false, 
            "user": "edxapp"
        }, 
        "ENGINE": "xmodule.contentstore.mongo.MongoContentStore", 
        "OPTIONS": {
            "db": "edxapp", 
            "host": [
                "localhost"
            ], 
            "password": "password", 
            "port": 27017, 
            "ssl": false, 
            "user": "edxapp"
        }
    }, 
    "CREDIT_PROVIDER_SECRET_KEYS": {}, 
    "DATABASES": {
        "default": {
            "ENGINE": "django.db.backends.mysql", 
            "HOST": "localhost", 
            "NAME": "edxapp", 
            "PASSWORD": "password", 
            "PORT": "3306", 
            "USER": "edxapp001"
        }, 
        "read_replica": {
            "ENGINE": "django.db.backends.mysql", 
            "HOST": "localhost", 
            "NAME": "edxapp", 
            "PASSWORD": "password", 
            "PORT": "3306", 
            "USER": "edxapp001"
        }
    }, 
    "DEFAULT_FILE_STORAGE": "django.core.files.storage.FileSystemStorage", 
    "DJFS": {
        "directory_root": "/edx/var/edxapp/django-pyfs/static/django-pyfs", 
        "type": "osfs", 
        "url_root": "/static/django-pyfs"
    }, 
    "DOC_STORE_CONFIG": {
        "collection": "modulestore", 
        "db": "edxapp", 
        "host": [
            "localhost"
        ], 
        "password": "password", 
        "port": 27017, 
        "ssl": false, 
        "user": "edxapp"
    }, 
    "ECOMMERCE_API_SIGNING_KEY": "SET-ME-PLEASE", 
    "EDX_API_KEY": "PUT_YOUR_API_KEY_HERE", 
    "EMAIL_HOST_PASSWORD": "", 
    "EMAIL_HOST_USER": "", 
    "EVENT_TRACKING_SEGMENTIO_EMIT_WHITELIST": [], 
    "GOOGLE_ANALYTICS_ACCOUNT": null, 
    "GOOGLE_ANALYTICS_LINKEDIN": "", 
    "MODULESTORE": {
        "default": {
            "ENGINE": "xmodule.modulestore.mixed.MixedModuleStore", 
            "OPTIONS": {
                "mappings": {}, 
                "stores": [
                    {
                        "DOC_STORE_CONFIG": {
                            "collection": "modulestore", 
                            "db": "edxapp", 
                            "host": [
                                "localhost"
                            ], 
                            "password": "password", 
                            "port": 27017, 
                            "ssl": false, 
                            "user": "edxapp"
                        }, 
                        "ENGINE": "xmodule.modulestore.split_mongo.split_draft.DraftVersioningModuleStore", 
                        "NAME": "split", 
                        "OPTIONS": {
                            "default_class": "xmodule.hidden_module.HiddenDescriptor", 
                            "fs_root": "/edx/var/edxapp/data", 
                            "render_template": "edxmako.shortcuts.render_to_string"
                        }
                    }, 
                    {
                        "DOC_STORE_CONFIG": {
                            "collection": "modulestore", 
                            "db": "edxapp", 
                            "host": [
                                "localhost"
                            ], 
                            "password": "password", 
                            "port": 27017, 
                            "ssl": false, 
                            "user": "edxapp"
                        }, 
                        "ENGINE": "xmodule.modulestore.mongo.DraftMongoModuleStore", 
                        "NAME": "draft", 
                        "OPTIONS": {
                            "default_class": "xmodule.hidden_module.HiddenDescriptor", 
                            "fs_root": "/edx/var/edxapp/data", 
                            "render_template": "edxmako.shortcuts.render_to_string"
                        }
                    }, 
                    {
                        "ENGINE": "xmodule.modulestore.xml.XMLModuleStore", 
                        "NAME": "xml", 
                        "OPTIONS": {
                            "data_dir": "/edx/var/edxapp/data", 
                            "default_class": "xmodule.hidden_module.HiddenDescriptor"
                        }
                    }
                ]
            }
        }
    }, 
    "OPEN_ENDED_GRADING_INTERFACE": {
        "grading_controller": "grading_controller", 
        "password": "password", 
        "peer_grading": "peer_grading", 
        "staff_grading": "staff_grading", 
        "url": "http://localhost:18060/", 
        "username": "lms"
    }, 
    "OPTIMIZELY_PROJECT_ID": null, 
    "PROFILE_IMAGE_SECRET_KEY": "placeholder_secret_key", 
    "SECRET_KEY": "", 
    "SEGMENT_IO_LMS_KEY": "", 
    "THIRD_PARTY_AUTH": {}, 
    "TRACKING_SEGMENTIO_WEBHOOK_SECRET": "", 
    "VERIFY_STUDENT": {
        "DAYS_GOOD_FOR": 365
    }, 
    "XQUEUE_INTERFACE": {
        "basic_auth": [
            "edx", 
            "edx"
        ], 
        "django_auth": {
            "password": "password", 
            "username": "lms"
        }, 
        "url": "http://localhost:18040"
    }, 
    "YOUTUBE_API_KEY": "PUT_YOUR_API_KEY_HERE", 
    "ZENDESK_API_KEY": "", 
    "ZENDESK_USER": ""
}