ejplatform/ej-server

View on GitHub
docs_old/dev-docs/environment-variables.rst

Summary

Maintainability
Test Coverage
=====================
Environment Variables
=====================


EJ uses 12-factor approach to configuration and uses environment variables to
customize most behavior and settings of the platform. The environment variables
can either be set directly on the host environment, or saved to a environment
file so they can be shared between different environments. This section describes
the main configuration variables with their standard values.


Basic settings
==============

Those are the minimum set of required configurations. **Warning:** Remember
reading the "Security" section before completing your deploy.

DJANGO_HOSTNAME (localhost):
    Host name for the EJ application. Can be something like "ejplatform.org".
    This is the address in which your instance is deployed.

COUNTRY (Brazil):
    Country used for localization and internationalization. This configuration
    controls simultaneously the DJANGO_LOCALE_NAME, DJANGO_LANGUAGE_CODE,
    DJANGO_TIME_ZONE variables using the default configurations for your
    country. Countries are specified by name (e.g., USA, Brazil, Argentina,
    Canada, etc). You can use a COUNTRY as base and personalize any variable
    of those variables independently (e.g., COUNTRY="Canada",
    LANGUAGE_CODE="fr-ca")

DJANGO_DEBUG (False):
    Setting DEBUG=True, display a traceback when Django encounters an error. This
    configuration is useful in a staging environment, but should never be enabled
    in the final production build.

DJANGO_DB_URL (psql://<user>:<password>@postgres:5432/<dbname>):
    Describes the connection with the Postgres database. The default unsafe values
    are ``user = password = dbname = "ej"``. You can change to other database types
    or configurations (e.g., sqlite:///path-to-db-file). **Warning:** The way
    Django parses this string puts some limitations on valid passwords. Stay
    safe and use only letters and numbers in the password.


Security
========

**DJANGO_SECRET_KEY** (random value):
    A random string of text that should be out of public sight. This string is
    used to negotiate sessions and for encryption in some parts of Django. This
    can be a random sequence of characters that is treated as a secret since in
    theory an attacker that knows the secret key could use this value to forge
    sessions and impersonate other users.



Personalization
===============

Those variables customize the behavior of the EJ platform in different ways.

Override strings
-----------------

EJ_PAGE_TITLE (Empurrando Juntos):
    Default title of the home page.

EJ_REGISTER_TEXT (Not part of EJ yet?):
    Text displayed requesting user registration.

EJ_LOGIN_TITLE_TEXT (Login in EJ):
    Asks user login.


Override paths
--------------

EJ_ANONYMOUS_HOME_PATH (/start/):
    Redirect users to this path before login.

EJ_USER_HOME_PATH (/conversations/):
    Redirect logged users to this path.


Rules and limits
----------------

EJ_ENABLE_BOARDS (true):
    The default behavior is that each user can own a single board of
    conversations independent of the main board under /conversations/.
    Set to "false" in order to disable those personal boards.

EJ_MAX_COMMENTS_PER_CONVERSATION (2):
    Default number of comments that each user has in each conversation.

EJ_PROFILE_EXCLUDE_FIELDS:
    Optional list of fields that should be excluded from user profile
    visualization.