# Basic Rails config. RACK_ENV=development RAILS_ENV=development PORT=7860 # Set this environment variable in production to enable Rails' public file server. RAILS_SERVE_STATIC_FILES=true # Comma-seperated list of supported locales. I18N_AVAILABLE_LOCALES=en,ru,ar,zh-cn,pt-br # The default locale for the app. I18N_DEFAULT_LOCALE=en # Timeout enforced by the slowpoke gem. SLOWPOKE_TIMEOUT=60 # AWS credentials for file storage. AWS_ACCESS_KEY_ID=access_key_id_from_aws AWS_SECRET_ACCESS_KEY=secret_access_key_from_aws AWS_REGION=us-east-1 AWS_BUCKET=bucket_name_from_aws # CDN base URL. ASSET_HOST=asset_host_url # Cloudfront CLOUDFRONT_PRIVATE_KEY_BASE_64_ENCODED=cloudfront_private_key_from_aws CLOUDFRONT_HOST=cloudfront_host_from_aws CLOUDFRONT_KEY_PAIR_ID=cloudfront_key_pair_id_from_aws CLOUDFRONT_EXPIRY=expiry_in_seconds # Postgres credentials. DB_NAME=pupilfirst DB_NAME_TEST=pupilfirst_test DB_HOST=localhost DB_USERNAME=postgres_username DB_PASSWORD=postgres_password # Keys for setting up OAuth. GITHUB_KEY=key_for_github_oauth GITHUB_SECRET=secret_for_github_oauth FACEBOOK_KEY=key_for_facebook_oauth FACEBOOK_SECRET=secret_for_facebook_oauth GOOGLE_OAUTH2_CLIENT_ID=client_id_for_google_oauth GOOGLE_OAUTH2_CLIENT_SECRET=client_secret_for_google_oauth DISCORD_KEY=key_for_discord_oauth DISCORD_SECRET=secret_for_discord_oauth DEFAULT_SENDER_EMAIL_ADDRESS=noreply@example.com # Postmark mailing service. POSTMARK_API_TOKEN=api_token_from_postmark POSTMARK_HOOK_ID=bounce_webhook_username_from_postmark POSTMARK_HOOK_SECRET=bounce_webhook_password_from_postmark # Domain which has been configured for re-direction after SSO with OAuth. SSO_DOMAIN=localhost:7860 # Domain which been configured for Beckn API. BECKN_DOMAIN=beckn.localhost # Beckn Credentials BECKN_BPP_ID=beckn_bpp_id BECKN_BPP_URI=beckn_bpp_uri BECKN_BPP_CLIENT_URI=beckn_bpp_client_uri # Which driver to use when running tests. See `rails_helper.rb` for options. JAVASCRIPT_DRIVER=headless_chrome # In some environments, such as WSL, it may be useful to disable GPU when running tests. JAVASCRIPT_DRIVER_DISABLE_GPU=false # This is the number of seconds capybara will wait for expected content. CAPYBARA_MAX_WAIT_TIME=5 # Report runtime errors to Rollbar. ROLLBAR_CLIENT_TOKEN=post_client_item_from_rollbar ROLLBAR_SERVER_TOKEN=post_server_item_from_rollbar ROLLBAR_CAPTURE_UNCAUGHT=false ROLLBAR_CAPTURE_UNHANDLED_REJECTIONS=false # Maximum number of markdown attachments allowed per day, per user. MAX_DAILY_MARKDOWN_ATTACHMENTS=50 # New Relic APM authentication NEW_RELIC_LICENSE_KEY=token_from_new_relic # Change user time-zone used in tests; this should match your system's timezone. SPEC_USER_TIME_ZONE=Asia/Kolkata # Number of times to retry a failing system test. SPEC_RETRY_COUNT=2 # Read timeout for webhooks in seconds WEBHOOK_READ_TIMEOUT=30 # GraphQL API rate limit(number of requests) and period(in seconds) for a client GRAPH_API_RATE_LIMIT=300 GRAPH_API_RATE_PERIOD=60 # Vimeo Access Token, used for direct uploads to a Vimeo account (optional). VIMEO_ACCESS_TOKEN=insert_vimeo_token VIMEO_ACCOUNT_TYPE=basic # Vimeo max retry attempts to resolve embed code VIMEO_EMBED_MAX_RETRY_ATTEMPTS=5 # Vapid Keys for Webpush notification. Make sure you regenerate these keys. VAPID_PUBLIC_KEY=BNYiullQIyCb_YW3oM8hAsqM5eIZ8kTm291mGDbKqC5QlH1VuMBfYuN40W1_9or2h3VC8EhKvjDEUuFEQ_6SRyM= VAPID_PRIVATE_KEY=jwJmMeeGOQuvVzime8_-Ibowao7405CHysTLNbEuvdQ= # Timeout in minutes for one-time tokens. RESET_PASSWORD_TOKEN_TIME_LIMIT=15 LOGIN_TOKEN_TIME_LIMIT=15 # Maximum numbers of attempts allowed for a user to input a token. INPUT_TOKEN_MAX_ATTEMPTS=5 # Recaptcha v3 keys, for the first-level score-based evaluation. RECAPTCHA_V3_SITE_KEY=get_from_google_recaptcha RECAPTCHA_V3_SECRET_KEY=get_from_google_recaptcha # Recaptcha v2 keys, the checkbox-based challenge for when the score fails. RECAPTCHA_V2_SITE_KEY=get_from_google_recaptcha RECAPTCHA_V2_SECRET_KEY=get_from_google_recaptcha # Alternatively, to disable Recaptcha, set the following variable to true. RECAPTCHA_DISABLED=false # Time interval (in seconds) for polling submission report for automated tests. SUBMISSION_REPORT_POLL_TIME=30 # Days for allowing coaches to review submissions of inactive students INACTIVE_SUBMISSION_REVIEW_ALLOWED_DAYS=0 # URL for Redis database used for throttling API requests using rack-attack REDIS_URL=get_redis_database_url # Maximum length of a markdown block in the curriculum editor. MARKDOWN_CURRICULUM_EDITOR_MAX_LENGTH=10000 # Number of automatic submission rejections after which human coaches should be notified. BOT_EVALUATOR_IDS=1,2,3 BOT_EVALUATOR_REPEAT_REJECTION_ALERT_THRESHOLD=4 # Default is 5 MB MAX_UPLOAD_FILE_SIZE=5242880 # A variable to configure the school for discord bot rake task SCHOOL_ID_FOR_DISCORD_BOT=1 # A flag to enable/disable maintenance mode ENABLE_MAINTENANCE_MODE=false # Domain configured for Beckn API. BECKN_DOMAIN=your_beckn_webhook_domain # Optional: webhook authentication, 256-bit key. BECKN_WEBHOOK_HMAC_KEY=your_beckn_webhook_hmac_key # Beckn Credentials BECKN_BPP_ID=beckn_bpp_id BECKN_BPP_URI=beckn_bpp_uri BECKN_BPP_CLIENT_URI=beckn_bpp_client_uri