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`
*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
2022-02-21 23:39:38 +00:00
See also: [Django's documentation on the ALLOWED_HOSTS setting ](https://docs.djangoproject.com/en/4.0/ref/settings/#allowed-hosts )
2021-10-30 21:52:49 +00:00
## `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 ).
2022-02-21 23:37:51 +00:00
## `CSRF_TRUSTED_ORIGINS`
2021-10-30 21:52:49 +00:00
2022-02-21 23:37:51 +00:00
*Default: None*
2021-10-30 21:52:49 +00:00
2022-02-21 23:37:51 +00:00
If Baby Buddy is behind a proxy, you may need add the domain to this setting for form
submission to work correctly.
2021-10-30 21:52:49 +00:00
2022-02-21 23:37:51 +00:00
See also [Django's documentation on the `CSRF_TRUSTED_ORIGINS` setting ](https://docs.djangoproject.com/en/4.0/ref/settings/#std:setting-CSRF_TRUSTED_ORIGINS )
and the [`SECURE_PROXY_SSL_HEADER` ](#secure_proxy_ssl_header ) environment variable.
2021-10-30 21:52:49 +00:00
## `DB_ENGINE`
*Default: django.db.backends.postgresql*
The database engine utilized for the deployment.
2022-02-21 23:39:38 +00:00
See also [Django's documentation on the ENGINE setting ](https://docs.djangoproject.com/en/4.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.
2022-02-21 23:39:38 +00:00
## `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/4.0/ref/settings/#debug ).
## `NAP_START_MAX`
*Default: 18:00*
The maximum nap *start* time (in the instance's time zone). Expects the 24-hour
format %H:%M.
## `NAP_START_MIN`
*Default: 06: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
## `SECRET_KEY`
*Default: None*
A random, unique string must be set as the "secret key" before Baby Buddy can
be deployed and run.
2022-02-21 23:39:38 +00:00
See also [Django's documentation on the SECRET_KEY setting ](https://docs.djangoproject.com/en/4.0/ref/settings/#secret-key ).
2021-10-30 21:52:49 +00:00
## `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
2022-02-21 23:39:38 +00:00
See also [Django's documentation on the SECURE_PROXY_SSL_HEADER setting ](https://docs.djangoproject.com/en/4.0/ref/settings/#secure-proxy-ssl-header ).
2021-10-30 21:52:49 +00:00
## `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.