# ░██████░░███████░░█████░░░██████░░ # ░██░░░░░░░░██░░░░██░░░██░░██░░░██░ READ EVERYTHING BEFORE USING. # ░██████░░░░██░░░░██░░░██░░██████░░ SEE NOTES BELOW # ░░░░░██░░░░██░░░░██░░░██░░██░░░░░░ # ░██████░░░░██░░░░░████░░░░██░░░░░░ # You will hit issues if any of these are set to the wrong value. # Please read each line of this file before starting the server. # # When you are done, save this file as `.env` at the root of the Farmbot-Web-App # directory. # ============================================================================= # If your server is on a domain (eg=my-own-farmbot.com), put it here. # DONT USE `localhost`, `127.0.0.1`, or `0.0.0.0`. # Use a real IP address or domain name. # For a local install, find your IP with `hostname -I` on Linux or `ipconfig getifaddr en0` on Mac. API_HOST= # 3000 for local development. 443 is using SSL. # You will need `sudo` to use PORT 80 on most systems. API_PORT=3000 # Set to the IP address of the MQTT broker. # 99% of setups will use the same value found in API_HOST. # Heroku users will not use the same value. MQTT_HOST= # This is the password to the entire database. # Every server needs to set this. # Must be less than 100 characters long. POSTGRES_PASSWORD= # Used for devise. Generate a new value using `openssl rand -hex 64`. # MUST BE A VERY RANDOM, 128 CHARACTER LONG, HEXADECIMAL STRING (0-9, A-F) DEVISE_SECRET= # Set the server superuser password to something SECURE. ADMIN_PASSWORD= # Secret key used by Rails. Generate using `openssl rand -hex 64`. SECRET_KEY_BASE= # Set this to `production` in most cases. # Setting this line to `production` will disable debug backtraces. # Please delete this line if you are submitting a bug report, as production mode # will not give detailed crash reports. RAILS_ENV=production # Set this if you don't want to deal with email verification of new users. NO_EMAILS=TRUE # If you wish to opt out of https, delete this line. # NOTE: By not using SSL, passwords will be transmitted without encryption, # making it very easy for attackers to see them. # Comment out or delete for local installs. FORCE_SSL=TRUE # ============================================================================= # MOST USERS SHOULD DELETE THE REST OF THIS FILE. # Continue reading if you: # * Work at FarmBot Inc # * Need email notification support # * Pay for managed database / file hosting (Google Cloud) # * Use the test suite to write new features # If running a FarmBot setup for personal use or none of the above apply, you # can safely delete the rest of this file. # ============================================================================= # REDIS # ============================================================================= # If your Heroku Redis vendor uses a custom `REDIS_URL` ENV var such as # `REDISTOGO_URL`, set the value here. If you delete this line, the app will # default to `REDIS_URL`. Only relevant if you use Heroku or pay a 3rd party # vendor for Redis hosting. Most users can delete this. WHERE_IS_REDIS_URL=REDISTOGO_URL # Just an example. Change or delete. # Delete this if you don't use 3rd party Redis hosting. See WHERE_IS_REDIS_URL REDIS_URL=redis://redis:6379/0 # EMAILS # ============================================================================= # For email delivery. Who is your email host? SMTP_HOST=smtp.sendgrid.net # Optional, with default of 587 SMTP_PORT=587 # FarmBot Inc uses SendGrid to send emails. # Delete these if you aren't a send grid customer. SENDGRID_USERNAME= SENDGRID_PASSWORD= # If you're using other SMTP server (like Gmail) use this. # SMTP_USERNAME=email@gmail.com # SMTP_PASSWORD=password # HOSTING PROVIDERS # ============================================================================= # Used by people who pay for managed database hosting. # Most users should delete this. DATABASE_URL=postgres://user:password@host:5432/db_name # Google Cloud Storage API Bucket for image data. # Deleting this will save to disk. # Most self hosting users will want to delete this. GCS_BUCKET=GOOGLE_CLOUD_STORAGE_BUCKET_NAME_FOR_IMAGE_FILES # Google Cloud Storage ID for image data. # Deleting this will save images to disk. # Most self hosting users will want to delete this. GCS_ID=GOOGLE_CLOUD_STORAGE='interop' id # Most self hosting users will want to delete this. GCS_KEY=GOOGLE_CLOUD_STORAGE='interop' key GCS_PROJECT= GOOGLE_CLOUD_KEYFILE_JSON= # Can be deleted unless you are a Rollbar customer. ROLLBAR_ACCESS_TOKEN=____ ROLLBAR_CLIENT_TOKEN=____ ROLLBAR_ENV= # FarmBot uses DataDog for log analytics and for assessing overall system health. # Do not add this key if you do not use DataDog on your server. DATADOG_CLIENT_TOKEN=?? # Set by CircleCI, used by CI test coverage check CIRCLE_SHA1= CIRCLE_BRANCH= CIRCLE_PULL_REQUEST= # Can be deleted unless you are using codecov. CODECOV_TOKEN= # Set the max pool size for Passenger. (Only needed if using Heroku) # FarmBot Inc uses Heroku. Self hosters do not. MAX_POOL_SIZE=2 # This is set by Heroku and used by the frontend to show the current version. # Most self hosting users will want to delete this. HEROKU_BUILD_COMMIT= HEROKU_BUILD_DESCRIPTION= # Override for HEROKU_BUILD_COMMIT BUILT_AT= # If you are a software developer and you wish to run integration tests, set the # ENV below to true. Most users will not want this enabled. RUN_CAPYBARA=true # Self hosting users can delete this line. # If you are not using the standard MQTT broker (eg=you use a 3rd party # MQTT vendor), you will need to change this line. MQTT_WS=ws://DELETE_OR_CHANGE_THIS_LINE/ws # If you are using a shared RabbitMQ server and need to use a VHost other than # /, change this ENV var. MQTT_VHOST=/ # Some hosts (Eg=FarmBot Inc) run the RabbitMQ management API on a # non-standard host. Protocol (http vs. https) must be included! # DELETE THIS LINE if you are a self-hosted user. RABBIT_MGMT_URL=http://delete_this_line.com # Defaults to `CLOUDAMQP_URL` WHERE_IS_CLOUDAMQP_URL= CLOUDAMQP_URL= RABBITMQ_URL= # DOMAIN NAMES and SECURITY # ============================================================================= # If you run a server with multiple domain names, list them here. EXTRA_DOMAINS=staging.farm.bot,whatever.farm.bot # Allow only certain users on the server. If the user's email domain is not # on the list of trusted domains, they can not use the server. # The example below only allows users with `@farmbot.io` or `@farm.bot` emails # to use the server. # DELETE THIS LINE IF YOU RUN A PUBLIC SERVER. TRUSTED_DOMAINS=farmbot.io,farm.bot # Self hosting users can safely delete this (a new key will be created). # This key is used to exchange secrets between bots and MQTT servers (important # if you don't use SSL) # SERVER WONT WORK IF YOU FORGET TO DELETE THIS EXAMPLE TEXT BELOW. # ADD A REAL RSA_KEY OR DELETE THIS LINE!! RSA_KEY=Change this! Keys look like `-----BEGIN RSA .........` # OPENAI # ============================================================================= # OpenAI API key. Delete this line if you don't have one. OPENAI_API_KEY= # OpenAI API sampling temperature. Optional. Float between 0 and 2. # Defaults to 1, use a lower value for less random output. OPENAI_API_TEMPERATURE= # OpenAI model name for Lua code generation requests. OPENAI_MODEL_LUA= # OpenAI model name for other requests. OPENAI_MODEL_OTHER= # Increment to bust 1-week Lua docs cache. # The docs cache is used in Lua code generation requests. DOCS_CACHE_NUM= # OTHER # ============================================================================= # Comma separated list of emails to receive a daily report of new FarmBot # installations (not new users, but actual FarmBot installations). CUSTOMER_SUPPORT_SUBSCRIBERS=alice@protonmail.com,bob@yahoo.com # Webhook URL to send user-generated feedback to. FEEDBACK_WEBHOOK_URL=http://localhost:3000/change_this # Email address of a "publisher account" that is used to # publish shared sequences via `rake sequences:publish ` AUTHORIZED_PUBLISHER=foo@bar.com # URL to send release info to. RELEASE_WEBHOOK_URL= # URLs to enforce TOS acceptance. TOS_URL= PRIV_URL= # Continuously run log digest loop. FOREVER= # Prevents JS/CSS build system from cleaning out old assets on start. # This speed up boot time by one minute, but may put you at risk of # loading stale versions of the application. NO_CLEAN=true