# ░██████░░███████░░█████░░░██████░░ # ░██░░░░░░░░██░░░░██░░░██░░██░░░██░ 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. # # Again, PLEASE READ ALL ENTRIES. This is the most important setup step. # ============================================================================= # # Where is your MQTT server running? 99% of setups will use the same value # found in API_HOST. Heroku users will not use the same value. # Use a REAL, PUBLIC IP ADDRESS if you are controlling real bots. MQTT_HOST=98.76.54.32 # If your server is on a domain (eg=my-own-farmbot.com), put it here. # DONT USE `localhost`. # DONT USE `127.0.0.1`. # DONT USE `0.0.0.0`. # Use a real ip or domain name. API_HOST=12.34.56.78 # 3000 for local development. 443 is using SSL. You will need `sudo` to use PORT # 80 on most systems. API_PORT=3000 # Every server needs to set this. This is the password to the entire database. # NOTE: Must be less than 100 characters long. POSTGRES_PASSWORD= # MUST REPLACE. MUST BE A VERY RANDOM VALUE. # 128 CHARACTERS LONG, HEXADECIMAL STRING (0-9, A-F) DEVISE_SECRET=Used for devise. Generate a new value using `openssl rand -hex 64`. # Every server has a superuser. # Set this to something SECURE. ADMIN_PASSWORD= # Secret key used by Rails. # Generate a new value 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. # (self hosted users) NO_EMAILS=TRUE # If you wish to opt out of https:// (we wish you wouldn't), you can # delete this line. Be aware that by not using SSL, users will transmit their # passwords without encryption, making it very easy for attackers to see # user passwords. Consider buying a domain and using a free certificate from # Let's Encrypt. FORCE_SSL=Remove this if not using HTTPS:// # 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 # * run your own NervesHub instance for custom FBOS updates # If running a FarmBot setup for personal use or none of the above apply, you # can safely delete the rest of this file. # Only relevant if you use Heroku or pay a 3rd party vendor for Redis hosting. # Most users can delete this. # 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`. 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 # 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_PASSWORD=Used by FarmBot, Inc SENDGRID_USERNAME=Used by FarmBot, Inc # If you're using other SMTP server (like Gmail) use this. #SMTP_USERNAME=email@gmail.com #SMTP_PASSWORD=password # Used by people who pay for managed database hosting. # Most users should delete this. DATABASE_URL=postgres://user:password@host:5432/db_name # FarmBot OS update server. Use default if you don't have a special use case. # Off grid servers may have issues connecting to our update URL. OS_UPDATE_SERVER=https://api.github.com/repos/farmbot/farmbot_os/releases/latest # 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 # Can be deleted unless you are a Rollbar customer. ROLLBAR_ACCESS_TOKEN=____ ROLLBAR_CLIENT_TOKEN=____ # This can be set to anything. # Most users can just delete it. # This is used for people writing modifications to the software, mostly. DOCS=Set this to any value if you want to generate API docs after running tests # Most self hosting users will want to delete this. HEROKU_SLUG_COMMIT=This is set by Heroku, used by Frontend to show current version. # 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=/ # If you run a server with multiple domain names (HINT=You probably don't), # you can list the names here. This is used by FarmBot employees so that they # can securly host the same server on multiple domain names # ex=my.farm.bot, my.farmbot.io EXTRA_DOMAINS=staging.farm.bot,whatever.farm.bot # Some hosts (Eg=FarmBot, Inc.) run the RabbitMQ management API on a # non-standard host. # Include the protocol! (http vs. https) # DELETE THIS LINE if you are a self-hosted user. RABBIT_MGMT_URL=http://delete_this_line.com # 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 .........` # Nerves Hub Configuration # Nerves Hub handles OTA Firmware updates. # DELETE THIS LINE if you are a self-hosted user. NERVES_HUB_HOST=delete_this.org # Port to connect to. # DELETE THIS LINE if you are a self-hosted user. NERVES_HUB_PORT=443 # Organization that the cert and key are authorized to access. # DELETE THIS LINE if you are a self-hosted user. NERVES_HUB_ORG=delete_this_line # Product that the cert and key are assosiated with. # DELETE THIS LINE if you are a self-hosted user. NERVES_HUB_PRODUCT=delete_this_line # Where to temporarily store device cert sign requests # DELETE THIS LINE if you are a self-hosted user. NERVES_HUB_DEVICE_CSR_DIR=/delete/this/path # Contents of the NervesHub authorized cert # DELETE THIS LINE if you are a self-hosted user. NERVES_HUB_CERT=Change this! Cert looks like `-----BEGIN CERTIFICATE-----` # Contents of the NervesHub authorized key # DELETE THIS LINE if you are a self-hosted user. NERVES_HUB_KEY= Change this! Key looks like `-----BEGIN EC PRIVATE KEY-----` # Contents of the NervesHub cert chain. Should contain one root-ca, # and 3 intermediates. # DELETE THIS LINE if you are a self-hosted user. NERVES_HUB_CA= Change this! CA looks like `-----BEGIN CERTIFICATE-----` # 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 # FarmBot uses DataDog for log analytics and for assesing overall system health. # Do not add this key if you do not use DataDog on your server. DATADOG_CLIENT_TOKEN=??