diff --git a/README.md b/README.md index 6bf0ed71..39e5b3a9 100755 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ TellForm 2.1.0 - [Quickstart](#quickstart) - [Deploying with Docker](#deploying-with-docker) - [Testing your Application](#testing-your-application) +- [Advanced Configuration](#configuration) - [Where to Get Help](#where-to-get-help) - [Sponsors](#sponsors) - [Backers](#backers) @@ -166,6 +167,39 @@ To calculate your client-side test coverage with Istanbul, run the coverage task $ grunt coverage:client ``` +## Configuration + +TellForm's configuration is done with environment variables. To set an option for TellForm, open/create your .env file and set add `ENV_VAR=somevalue` to set the ENV_VAR variable to the value `somevalue`. + +| Property | Valid Values | Default Value | Description | Required? | +|-------------------------|--------------------------------------------------------|----------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|--------------------------------------------| +| NODE_ENV | "development", "production", "test" or "secure" | development | Set which version of the app you want to run (either secure/SSL, dev, prod or test) | No | +| SESSION_SECRET | Any string | CHANGE_ME_PLEASE | Value used to compute session hash | No | +| BASE_URL | A valid URL | localhost:3000 | URL where the admin panel will live | Yes | +| MONGODB_URI | A valid MongoDB URI | localhost/mean | URI of the MONGODB server/db that your server will use | Yes | +| REDIS_URL | A valid Redis URI | redis://127.0.0.1:6379 | URI of the Redis instance that your server will use | Only if ENABLE_CLUSTER_MODE=TRUE | +| SOCKET_PORT | A valid port number from 0 - 65535 | 20523 | Port that your SocketIO server will bind to | No | +| SOCKET_URL | A valid URL | ws.tellform.com | Url that your SocketIO server will bind to | No | +| SIGNUP_DISABLED | "TRUE" or "FALSE" | FALSE | Set this flag to disable signups. | No | +| SUBDOMAINS_DISABLED | "TRUE" or "FALSE" | FALSE | Set this flag to disable subdomains. (Useful if hosting behind an uncontrolled domain or without a wildcard SSL cert) | No | +| ENABLE_CLUSTER_MODE | "TRUE" or "FALSE" | FALSE | Disable support for running TellForm with pm2's cluster mode. Disabling this allows you to not run a Redis instance. | No | +| MAILER_EMAIL_ID | A string | N/A | Username credential for the SMTP MAIL service used to send signup/verification/lost password emails. | Yes | +| MAILER_PASSWORD | A string | | Password credential for the SMTP MAIL service used to send signup/verification/lost password emails. | Yes | +| MAILER_FROM | A valid email | noreply@tellform.com | Email address that all mail should be sent from. | No | +| MAILER_SERVICE_PROVIDER | A service from https://nodemailer.com/smtp/well-known/ | | A "well-known" email service that is supported by nodemail. If MAILER_SMTP_HOST is enabled, this is ignored. | Only if MAILER_SMTP_HOST is not set | +| MAILER_SMTP_HOST | A valid URL | | URL to the SMTP server of your choice | Only if MAILER_SERVICE_PROVIDER is not set | +| MAILER_SMTP_PORT | A valid port number from 0 - 65535 | | Port of the SMTP server of your choice. | Only if MAILER_SMTP_HOST is set | +| MAILER_SMTP_SECURE | "TRUE" or "FALSE" | FALSE | Boolean that enables/disables SSL support for your SMTP client. | Only if MAILER_SMTP_HOST is set | +| CREATE_ADMIN | "TRUE" or "FALSE" | FALSE | Setting this variable will create a admin user on startup with credentials as specified below | No | +| ADMIN_EMAIL | A valid email | admin@admin.com | Email of generated admin user | No | +| ADMIN_USERNAME | A string | root | Username of generated admin user | No | +| ADMIN_PASSWORD | A string | root | Password of generated admin user | No | +| APP_NAME | A string | TellForm | Sets the property of your webapp. | No | +| APP_DESC | A string | Opensource form builder alternative to TypeForm | Sets the,property of your webapp. | No | +| APP_KEYWORDS | A comma-seperated list of phrases/words | typeform, pdfs, forms, opensource, formbuilder, google forms, nodejs | Sets the value of the <meta> description attribute. | No | +| RAVEN_DSN | A valid Sentry.io DSN | N/A | Set this to your Sentry.io Public DSN to enable remote logging | No | +| GOOGLE_ANALYTICS_ID | A valid Google Analytics ID | N/A | Set this to your GA id to enable GA tracking on your TellForm instance | No | + ## Where to get help [Gitter Chat](https://gitter.im/whitef0x0/tellform)