2024-01-28 12:04:27 +01:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2022-08-06 23:20:30 +02:00
|
|
|
# only set this to true when testing/debugging
|
|
|
|
# when unset: 1 (true) - dont unset this, just for development
|
2023-01-27 21:01:50 +01:00
|
|
|
DEBUG=0
|
|
|
|
SQL_DEBUG=0
|
2022-08-06 23:20:30 +02:00
|
|
|
|
|
|
|
# HTTP port to bind to
|
|
|
|
TANDOOR_PORT=__PORT__
|
|
|
|
|
|
|
|
# hosts the application can run under e.g. recipes.mydomain.com,cooking.mydomain.com,...
|
2022-08-07 03:29:06 +02:00
|
|
|
ALLOWED_HOSTS=__DOMAIN__
|
2022-08-06 23:20:30 +02:00
|
|
|
|
|
|
|
# random secret key, use for example `base64 /dev/urandom | head -c50` to generate one
|
|
|
|
SECRET_KEY=__SECRETKEY__
|
|
|
|
|
|
|
|
# your default timezone See https://timezonedb.com/time-zones for a list of timezones
|
2024-07-22 09:24:36 +02:00
|
|
|
TZ=__TIMEZONE__
|
2022-08-06 23:20:30 +02:00
|
|
|
|
|
|
|
# add only a database password if you want to run with the default postgres, otherwise change settings accordingly
|
|
|
|
DB_ENGINE=django.db.backends.postgresql
|
|
|
|
# DB_OPTIONS= {} # e.g. {"sslmode":"require"} to enable ssl
|
|
|
|
POSTGRES_HOST=127.0.0.1
|
|
|
|
POSTGRES_PORT=5432
|
2022-08-09 22:53:41 +02:00
|
|
|
POSTGRES_USER=__DB_USER__
|
2022-08-06 23:20:30 +02:00
|
|
|
POSTGRES_PASSWORD=__DB_PWD__
|
|
|
|
POSTGRES_DB=__DB_NAME__
|
|
|
|
|
|
|
|
# the default value for the user preference 'fractions' (enable/disable fraction support)
|
|
|
|
# default: disabled=0
|
|
|
|
FRACTION_PREF_DEFAULT=0
|
|
|
|
|
|
|
|
# the default value for the user preference 'comments' (enable/disable commenting system)
|
|
|
|
# default comments enabled=1
|
|
|
|
COMMENT_PREF_DEFAULT=1
|
|
|
|
|
|
|
|
# Users can set a amount of time after which the shopping list is refreshed when they are in viewing mode
|
|
|
|
# This is the minimum interval users can set. Setting this to low will allow users to refresh very frequently which
|
|
|
|
# might cause high load on the server. (Technically they can obviously refresh as often as they want with their own scripts)
|
|
|
|
SHOPPING_MIN_AUTOSYNC_INTERVAL=5
|
|
|
|
|
|
|
|
# Default for user setting sticky navbar
|
|
|
|
# STICKY_NAV_PREF_DEFAULT=1
|
|
|
|
|
|
|
|
# If base URL is something other than just / (you are serving a subfolder in your proxy for instance http://recipe_app/recipes/)
|
|
|
|
# Be sure to not have a trailing slash: e.g. '/recipes' instead of '/recipes/'
|
2022-08-09 22:53:41 +02:00
|
|
|
#SCRIPT_NAME=__PATH__/
|
2022-08-06 23:20:30 +02:00
|
|
|
|
|
|
|
# If staticfiles are stored at a different location uncomment and change accordingly, MUST END IN /
|
|
|
|
# this is not required if you are just using a subfolder
|
|
|
|
# This can either be a relative path from the applications base path or the url of an external host
|
2024-07-22 13:55:04 +02:00
|
|
|
#sub_path_only
|
|
|
|
#STATIC_URL=/static/
|
2022-08-06 23:20:30 +02:00
|
|
|
|
|
|
|
# If mediafiles are stored at a different location uncomment and change accordingly, MUST END IN /
|
|
|
|
# this is not required if you are just using a subfolder
|
|
|
|
# This can either be a relative path from the applications base path or the url of an external host
|
2024-07-22 13:57:56 +02:00
|
|
|
#MEDIA_URL=/media/
|
2022-08-06 23:20:30 +02:00
|
|
|
|
|
|
|
# Serve mediafiles directly using gunicorn. Basically everyone recommends not doing this. Please use any of the examples
|
|
|
|
# provided that include an additional nxginx container to handle media file serving.
|
|
|
|
# If you know what you are doing turn this back on (1) to serve media files using djangos serve() method.
|
|
|
|
# when unset: 1 (true) - this is temporary until an appropriate amount of time has passed for everyone to migrate
|
|
|
|
GUNICORN_MEDIA=0
|
|
|
|
|
|
|
|
# GUNICORN SERVER RELATED SETTINGS (see https://docs.gunicorn.org/en/stable/design.html#how-many-workers for recommended settings)
|
|
|
|
# GUNICORN_WORKERS=1
|
|
|
|
# GUNICORN_THREADS=1
|
|
|
|
|
|
|
|
# S3 Media settings: store mediafiles in s3 or any compatible storage backend (e.g. minio)
|
|
|
|
# as long as S3_ACCESS_KEY is not set S3 features are disabled
|
|
|
|
# S3_ACCESS_KEY=
|
|
|
|
# S3_SECRET_ACCESS_KEY=
|
|
|
|
# S3_BUCKET_NAME=
|
|
|
|
# S3_REGION_NAME= # default none, set your region might be required
|
|
|
|
# S3_QUERYSTRING_AUTH=1 # default true, set to 0 to serve media from a public bucket without signed urls
|
|
|
|
# S3_QUERYSTRING_EXPIRE=3600 # number of seconds querystring are valid for
|
|
|
|
# S3_ENDPOINT_URL= # when using a custom endpoint like minio
|
|
|
|
# S3_CUSTOM_DOMAIN= # when using a CDN/proxy to S3 (see https://github.com/TandoorRecipes/recipes/issues/1943)
|
|
|
|
|
|
|
|
# Email Settings, see https://docs.djangoproject.com/en/3.2/ref/settings/#email-host
|
|
|
|
# Required for email confirmation and password reset (automatically activates if host is set)
|
2023-08-05 07:53:40 +02:00
|
|
|
EMAIL_HOST='127.0.0.1'
|
|
|
|
EMAIL_PORT=25
|
2024-07-22 11:45:02 +02:00
|
|
|
EMAIL_HOST_USER='__APP__'
|
|
|
|
EMAIL_HOST_PASSWORD='__MAIL_PWD__'
|
2023-08-05 07:53:40 +02:00
|
|
|
EMAIL_USE_TLS=0
|
|
|
|
EMAIL_USE_SSL=0
|
2022-08-06 23:20:30 +02:00
|
|
|
# email sender address (default 'webmaster@localhost')
|
2023-08-05 07:53:40 +02:00
|
|
|
DEFAULT_FROM_EMAIL=tandoor@__DOMAIN__
|
2022-08-06 23:20:30 +02:00
|
|
|
# prefix used for account related emails (default "[Tandoor Recipes] ")
|
|
|
|
# ACCOUNT_EMAIL_SUBJECT_PREFIX=
|
|
|
|
|
|
|
|
# allow authentication via reverse proxy (e.g. authelia), leave off if you dont know what you are doing
|
|
|
|
# see docs for more information https://vabene1111.github.io/recipes/features/authentication/
|
|
|
|
# when unset: 0 (false)
|
2024-07-22 09:24:36 +02:00
|
|
|
REMOTE_USER_AUTH=0
|
2022-08-06 23:20:30 +02:00
|
|
|
|
|
|
|
# Default settings for spaces, apply per space and can be changed in the admin view
|
|
|
|
# SPACE_DEFAULT_MAX_RECIPES=0 # 0=unlimited recipes
|
|
|
|
# SPACE_DEFAULT_MAX_USERS=0 # 0=unlimited users per space
|
|
|
|
# SPACE_DEFAULT_MAX_FILES=0 # Maximum file storage for space in MB. 0 for unlimited, -1 to disable file upload.
|
|
|
|
# SPACE_DEFAULT_ALLOW_SHARING=1 # Allow users to share recipes with public links
|
|
|
|
|
|
|
|
# allow people to create accounts on your application instance (without an invite link)
|
|
|
|
# when unset: 0 (false)
|
|
|
|
# ENABLE_SIGNUP=0
|
|
|
|
|
|
|
|
# If signup is enabled you might want to add a captcha to it to prevent spam
|
|
|
|
# HCAPTCHA_SITEKEY=
|
|
|
|
# HCAPTCHA_SECRET=
|
|
|
|
|
|
|
|
# if signup is enabled you might want to provide urls to data protection policies or terms and conditions
|
|
|
|
# TERMS_URL=
|
|
|
|
# PRIVACY_URL=
|
|
|
|
# IMPRINT_URL=
|
|
|
|
|
|
|
|
# enable serving of prometheus metrics under the /metrics path
|
|
|
|
# ATTENTION: view is not secured (as per the prometheus default way) so make sure to secure it
|
|
|
|
# trough your web server (or leave it open of you dont care if the stats are exposed)
|
|
|
|
# ENABLE_METRICS=0
|
|
|
|
|
|
|
|
# allows you to setup OAuth providers
|
|
|
|
# see docs for more information https://vabene1111.github.io/recipes/features/authentication/
|
|
|
|
# SOCIAL_PROVIDERS = allauth.socialaccount.providers.github, allauth.socialaccount.providers.nextcloud,
|
|
|
|
|
|
|
|
# Should a newly created user from a social provider get assigned to the default space and given permission by default ?
|
|
|
|
# ATTENTION: This feature might be deprecated in favor of a space join and public viewing system in the future
|
|
|
|
# default 0 (false), when 1 (true) users will be assigned space and group
|
|
|
|
# SOCIAL_DEFAULT_ACCESS = 1
|
|
|
|
|
|
|
|
# if SOCIAL_DEFAULT_ACCESS is used, which group should be added
|
|
|
|
# SOCIAL_DEFAULT_GROUP=guest
|
|
|
|
|
|
|
|
# Django session cookie settings. Can be changed to allow a single django application to authenticate several applications
|
|
|
|
# when running under the same database
|
|
|
|
# SESSION_COOKIE_DOMAIN=.example.com
|
|
|
|
# SESSION_COOKIE_NAME=sessionid # use this only to not interfere with non unified django applications under the same top level domain
|
|
|
|
|
|
|
|
# by default SORT_TREE_BY_NAME is disabled this will store all Keywords and Food in the order they are created
|
|
|
|
# enabling this setting makes saving new keywords and foods very slow, which doesn't matter in most usecases.
|
|
|
|
# however, when doing large imports of recipes that will create new objects, can increase total run time by 10-15x
|
|
|
|
# Keywords and Food can be manually sorted by name in Admin
|
|
|
|
# This value can also be temporarily changed in Admin, it will revert the next time the application is started
|
|
|
|
# This will be fixed/changed in the future by changing the implementation or finding a better workaround for sorting
|
|
|
|
# SORT_TREE_BY_NAME=0
|
|
|
|
# LDAP authentication
|
|
|
|
# default 0 (false), when 1 (true) list of allowed users will be fetched from LDAP server
|
|
|
|
LDAP_AUTH=1
|
|
|
|
AUTH_LDAP_SERVER_URI="ldap://localhost:389"
|
2022-08-07 19:31:52 +02:00
|
|
|
AUTH_LDAP_BIND_DN=""
|
2022-08-06 23:20:30 +02:00
|
|
|
AUTH_LDAP_BIND_PASSWORD=""
|
2022-08-07 19:12:37 +02:00
|
|
|
AUTH_LDAP_USER_SEARCH_BASE_DN="ou=users,dc=yunohost,dc=org"
|
2022-08-07 20:38:20 +02:00
|
|
|
AUTH_LDAP_USER_SEARCH_FILTER_STR="(&(|(objectclass=posixAccount))(uid=%(user)s)(permission=cn=__APP__.main,ou=permission,dc=yunohost,dc=org))"
|
2022-08-06 23:20:30 +02:00
|
|
|
#AUTH_LDAP_TLS_CACERTFILE=
|
|
|
|
|
|
|
|
# Enables exporting PDF (see export docs)
|
|
|
|
# Disabled by default, uncomment to enable
|
|
|
|
# ENABLE_PDF_EXPORT=1
|
|
|
|
|
|
|
|
# Recipe exports are cached for a certain time by default, adjust time if needed
|
|
|
|
# EXPORT_FILE_CACHE_DURATION=600
|