2021-10-30 21:52:49 +00:00
|
|
|
|
# Configuration
|
|
|
|
|
|
|
|
|
|
Environment variables can be used to define a number of configuration settings.
|
|
|
|
|
Baby Buddy will check the application directory structure for an `.env` file or
|
|
|
|
|
take these variables from the system environment. **System environment variables
|
|
|
|
|
take precedence over the contents of an `.env` file.**
|
|
|
|
|
|
|
|
|
|
- [`ALLOWED_HOSTS`](#allowed_hosts)
|
|
|
|
|
- [`ALLOW_UPLOADS`](#allow_uploads)
|
|
|
|
|
- [`AWS_ACCESS_KEY_ID`](#aws_access_key_id)
|
|
|
|
|
- [`AWS_SECRET_ACCESS_KEY`](#aws_secret_access_key)
|
|
|
|
|
- [`AWS_STORAGE_BUCKET_NAME`](#aws_storage_bucket_name)
|
|
|
|
|
- [`DEBUG`](#debug)
|
|
|
|
|
- [`NAP_START_MAX`](#nap_start_max)
|
|
|
|
|
- [`NAP_START_MIN`](#nap_start_min)
|
|
|
|
|
- [`DB_ENGINE`](#db_engine)
|
|
|
|
|
- [`DB_HOST`](#db_host)
|
|
|
|
|
- [`DB_NAME`](#db_name)
|
|
|
|
|
- [`DB_PASSWORD`](#db_password)
|
|
|
|
|
- [`DB_PORT`](#db_port)
|
|
|
|
|
- [`DB_USER`](#db_user)
|
|
|
|
|
- [`SECRET_KEY`](#secret_key)
|
|
|
|
|
- [`SECURE_PROXY_SSL_HEADER`](#secure_proxy_ssl_header)
|
|
|
|
|
- [`TIME_ZONE`](#time_zone)
|
|
|
|
|
- [`USE_24_HOUR_TIME_FORMAT`](#use_24_hour_time_format)
|
|
|
|
|
|
|
|
|
|
## `ALLOWED_HOSTS`
|
|
|
|
|
|
|
|
|
|
*Default: * (any)*
|
|
|
|
|
|
2021-10-31 22:11:07 +00:00
|
|
|
|
Set this variable to a single host or comma-separated list of hosts without spaces.
|
|
|
|
|
This should *always* be set to a specific host or hosts in production deployments.
|
2021-10-30 21:52:49 +00:00
|
|
|
|
|
|
|
|
|
See also: [Django's documentation on the ALLOWED_HOSTS setting](https://docs.djangoproject.com/en/3.0/ref/settings/#allowed-hosts)
|
|
|
|
|
|
|
|
|
|
## `ALLOW_UPLOADS`
|
|
|
|
|
|
|
|
|
|
*Default: True*
|
|
|
|
|
|
2021-10-31 22:11:07 +00:00
|
|
|
|
Whether to allow uploads (e.g., of Child photos). For some deployments (Heroku)
|
|
|
|
|
this setting will default to False due to the lack of available persistent storage.
|
2021-10-30 21:52:49 +00:00
|
|
|
|
|
|
|
|
|
## `AWS_ACCESS_KEY_ID`
|
|
|
|
|
|
|
|
|
|
*Default: None*
|
|
|
|
|
|
|
|
|
|
Required to access your AWS S3 bucket, should be uniquely generated per bucket
|
|
|
|
|
for security.
|
|
|
|
|
|
|
|
|
|
See also: [`AWS_STORAGE_BUCKET_NAME`](#aws_storage_bucket_name)
|
|
|
|
|
|
|
|
|
|
## `AWS_SECRET_ACCESS_KEY`
|
|
|
|
|
|
|
|
|
|
*Default: None*
|
|
|
|
|
|
|
|
|
|
Required to access your AWS S3 bucket, should be uniquely generated per bucket
|
|
|
|
|
for security.
|
|
|
|
|
|
|
|
|
|
See also: [`AWS_STORAGE_BUCKET_NAME`](#aws_storage_bucket_name)
|
|
|
|
|
|
|
|
|
|
## `AWS_STORAGE_BUCKET_NAME`
|
|
|
|
|
|
|
|
|
|
*Default: None*
|
|
|
|
|
|
|
|
|
|
If you would like to use AWS S3 for storage on ephemeral storage platforms like
|
2021-10-31 22:11:07 +00:00
|
|
|
|
Heroku you will need to create a bucket and add its name. See django-storages'
|
2021-10-30 21:52:49 +00:00
|
|
|
|
[Amazon S3 documentation](https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html).
|
|
|
|
|
|
|
|
|
|
## `DEBUG`
|
|
|
|
|
|
|
|
|
|
*Default: False*
|
|
|
|
|
|
|
|
|
|
When in debug mode, Baby Buddy will print much more detailed error information
|
|
|
|
|
for exceptions. This setting should be *False* in production deployments.
|
|
|
|
|
|
|
|
|
|
See also [Django's documentation on the DEBUG setting](https://docs.djangoproject.com/en/3.0/ref/settings/#debug).
|
|
|
|
|
|
|
|
|
|
## `NAP_START_MAX`
|
|
|
|
|
|
|
|
|
|
*Default: 18:00*
|
|
|
|
|
|
2021-10-31 22:11:07 +00:00
|
|
|
|
The maximum nap *start* time (in the instance's time zone). Expects the 24-hour
|
|
|
|
|
format %H:%M.
|
2021-10-30 21:52:49 +00:00
|
|
|
|
|
|
|
|
|
## `NAP_START_MIN`
|
|
|
|
|
|
|
|
|
|
*Default: 06:00*
|
|
|
|
|
|
2021-10-31 22:11:07 +00:00
|
|
|
|
The minimum nap *start* time (in the instance's time zone). Expects the 24-hour
|
|
|
|
|
format %H:%M.
|
2021-10-30 21:52:49 +00:00
|
|
|
|
|
|
|
|
|
## `DB_ENGINE`
|
|
|
|
|
|
|
|
|
|
*Default: django.db.backends.postgresql*
|
|
|
|
|
|
|
|
|
|
The database engine utilized for the deployment.
|
|
|
|
|
|
2021-10-31 22:11:07 +00:00
|
|
|
|
See also [Django's documentation on the ENGINE setting](https://docs.djangoproject.com/en/3.0/ref/settings/#engine).
|
2021-10-30 21:52:49 +00:00
|
|
|
|
|
|
|
|
|
## `DB_HOST`
|
|
|
|
|
|
|
|
|
|
*Default: db*
|
|
|
|
|
|
|
|
|
|
The name of the database host for the deployment.
|
|
|
|
|
|
|
|
|
|
## `DB_NAME`
|
|
|
|
|
|
|
|
|
|
*Default: postgres*
|
|
|
|
|
|
|
|
|
|
The name of the database table utilized for the deployment.
|
|
|
|
|
|
|
|
|
|
## `DB_PASSWORD`
|
|
|
|
|
|
|
|
|
|
*No Default*
|
|
|
|
|
|
2021-10-31 22:11:07 +00:00
|
|
|
|
The password for the database user for the deployment. In the default example,
|
|
|
|
|
this is the root PostgreSQL password.
|
2021-10-30 21:52:49 +00:00
|
|
|
|
|
|
|
|
|
## `DB_PORT`
|
|
|
|
|
|
|
|
|
|
*Default: 5432*
|
|
|
|
|
|
|
|
|
|
The listening port for the database. The default port is 5432 for PostgreSQL.
|
|
|
|
|
|
|
|
|
|
## `DB_USER`
|
|
|
|
|
|
|
|
|
|
*Default: postgres*
|
|
|
|
|
|
|
|
|
|
The database username utilized for the deployment.
|
|
|
|
|
|
|
|
|
|
## `SECRET_KEY`
|
|
|
|
|
|
|
|
|
|
*Default: None*
|
|
|
|
|
|
|
|
|
|
A random, unique string must be set as the "secret key" before Baby Buddy can
|
|
|
|
|
be deployed and run.
|
|
|
|
|
|
|
|
|
|
See also [Django's documentation on the SECRET_KEY setting](https://docs.djangoproject.com/en/3.0/ref/settings/#secret-key).
|
|
|
|
|
|
|
|
|
|
## `SECURE_PROXY_SSL_HEADER`
|
|
|
|
|
|
|
|
|
|
*Default: None*
|
|
|
|
|
|
2021-10-31 22:11:07 +00:00
|
|
|
|
If Baby Buddy is behind a proxy, you may need to set this to `True` in order to
|
|
|
|
|
trust the `X-Forwarded-Proto` header that comes from your proxy, and any time
|
|
|
|
|
its value is "https". This guarantees the request is secure (i.e., it originally
|
|
|
|
|
came in via HTTPS).
|
2021-10-30 21:52:49 +00:00
|
|
|
|
|
2021-10-31 22:11:07 +00:00
|
|
|
|
:warning: Modifying this setting can compromise Baby Buddy’s security. Ensure
|
|
|
|
|
you fully understand your setup before changing it.
|
2021-10-30 21:52:49 +00:00
|
|
|
|
|
|
|
|
|
See also [Django's documentation on the SECURE_PROXY_SSL_HEADER setting](https://docs.djangoproject.com/en/3.0/ref/settings/#secure-proxy-ssl-header).
|
|
|
|
|
|
|
|
|
|
## `TIME_ZONE`
|
|
|
|
|
|
|
|
|
|
*Default: UTC*
|
|
|
|
|
|
|
|
|
|
The default time zone to use for the instance. See [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
|
|
|
|
|
for all possible values. This value can be overridden per use from the user
|
|
|
|
|
settings form.
|
|
|
|
|
|
|
|
|
|
## `USE_24_HOUR_TIME_FORMAT`
|
|
|
|
|
|
|
|
|
|
*Default: False*
|
|
|
|
|
|
|
|
|
|
Whether to force 24-hour time format for locales that do not ordinarily use it
|
2021-10-31 22:11:07 +00:00
|
|
|
|
(e.g. `en`). Support for this feature must be implemented on a per-locale basis.
|
2022-02-21 19:29:43 +00:00
|
|
|
|
See format files under [`babybuddy/formats`](https://github.com/babybuddy/babybuddy/tree/master/babybuddy/formats)
|
|
|
|
|
for supported locales.
|
2021-10-30 21:52:49 +00:00
|
|
|
|
|
2021-10-31 22:11:07 +00:00
|
|
|
|
Note: Baby Buddy interprets this value as a boolean from a string
|
2021-10-30 21:52:49 +00:00
|
|
|
|
using Python's built-in [`strtobool`](https://docs.python.org/3/distutils/apiref.html#distutils.util.strtobool)
|
2021-10-31 22:11:07 +00:00
|
|
|
|
tool. Only certain strings will work (e.g., "True" for `True` and "False" for
|
2021-10-30 21:52:49 +00:00
|
|
|
|
`False`), other unrecognized strings will cause a `ValueError` and prevent Baby
|
|
|
|
|
Buddy from loading.
|