# Sensitive values are redacted with a ? placeholder. # Contact community@litefarm.org for assistance from the email address you'd like to be added to our community Slack. NODE_ENV=development TZ=UTC PORT=5001 DEV_DATABASE_HOST=localhost DEV_DATABASE=pg-litefarm DEV_DATABASE_USER=postgres DEV_DATABASE_PASSWORD=postgres DEV_DATABASE_PORT=5433 # 5432 is default if running natively; use 5433 for the Dockerized database TEST_DATABASE_HOST=localhost TEST_DATABASE=test_farm TEST_DATABASE_USER=postgres TEST_DATABASE_PASSWORD=postgres TEST_DATABASE_PORT=5433 # 5432 is default if running natively; use 5433 for the Dockerized database JWT_SECRET=This_will_(really)_work JWT_INVITE_SECRET=Any_arbitrary_string_will_do JWT_RESET_SECRET=Production_is_secured_with_a_long_random_string JWT_FARM_SECRET=Here_we_can_use_friendly_explanations JWT_SCHEDULER_SECRET=Another_token_was_needed_for_the_scheduler JWT_DASHBOARD_SECRET=Dashboard_tickets_get_their_own_secret JWT_DASHBOARD_API_SECRET=Dashboard_API_tokens_get_their_own_secret # Comma-separated exact addresses an Analytics Dashboard ticket may be returned to. # Contact the Analytics Dashboard team for the value for your environment. DASHBOARD_ALLOWED_RETURN_TO=? # Create your own (free in most cases) Google API key at https://console.cloud.google.com/apis/dashboard # (Optional) We use google-maps-services-js package so API services on this key can be restricted to APIs listed here: # > https://www.npmjs.com/package/@googlemaps/google-maps-services-js # Same as the VITE_GOOGLE_MAPS_API_KEY under webapp GOOGLE_API_KEY=? # Most functionality is covered by the free OpenWeather API key at https://openweathermap.org/price # Note: OpenWeather may take a few hours before the api key is working # Same as the VITE_WEATHER_API_KEY under webapp OPEN_WEATHER_APP_ID=? # Create your own Google API key at https://developers.google.com/identity/oauth2/web/guides/get-google-api-clientid # (Optional) Authorized javascript origins can be restricted with localhost, and localhost: # (Optional) If gmail refresh tokens are used (see below): Authorized redirect URI's could be https://developers.google.com/oauthplayground GOOGLE_OAUTH_CLIENT_ID=? # For sending automatic LiteFarm emails on certain events (e.g. joining a farm) # See easier setup below # To send from system@litefarm.org you will need the corresponding beta/production values for the Client ID, Secret, and Refresh Token LITEFARM_SERVICE_EMAIL= GMAIL_API_CLIENT_ID= GMAIL_API_CLIENT_SECRET= # Generate a refresh token using the OAuth Playground as described here: https://dev.to/chandrapantachhetri/sending-emails-securely-using-node-js-nodemailer-smtp-gmail-and-oauth2-g3a GMAIL_REFRESH_TOKEN= # (Optional; for easier setup than refresh tokens only) Follow the directions here: https://support.google.com/mail/answer/185833 to create an app password for sending emails via your own personal gmail account # Omit or leave blank to defer to OAuth2 above DEV_GMAIL= DEV_GMAIL_APP_PASSWORD= # ??? CONTACT_FORM_EMAIL=? CONTACT_FORM_PASSWORD=? # Only needed for document and export testing IMAGINARY_TOKEN=localonlytoken # Comment out if you would like to use the production imaginary and you have that token LOCAL_IMAGINARY=http://localhost:8088 REDIS_HOST=localhost REDIS_PORT=6380 REDIS_PASSWORD=test # The default minio port MINIO_ENDPOINT=http://localhost:9000 PRIVATE_BUCKET_NAME=minio-dev PUBLIC_BUCKET_NAME=minio-dev DO_SPACES_ACCESS_KEY_ID=myminioadmin DO_SPACES_SECRET_ACCESS_KEY=myminioadmin # For document export of private SurveyStack responses SURVEY_USER= SURVEY_TOKEN= # The following vars are only needed if working with Ensemble Scientific sensors and actuators #ENSEMBLE_USERNAME=? #ENSEMBLE_PASSWORD=? #SENSOR_SECRET=? #NGROK_API=? REPORT_URL=http://localhost:3000/render_survey EXPORT_WD=exports API_HOST=localhost #For sentry error logging #SENTRY_DSN=? # For displaying an OOO message in the emails sent out in response to help requests OOO_MESSAGE_ENABLED= # Format YYYY/MM/DD OOO_END_DATE= # Debugging variables for working on specific features # Speed up the notifications timer (cycle through 1 hour every minute) # MOCK_TIMER=true # Specify which mock implementation to use for addon partners in development (GET irrigation prescription list) # MOCK_ADDON_PARTNER=ESCI # Mock Ensemble irrigation prescription details # USE_IP_MOCK_DETAILS=true