Farmbot-Web-App/example.env

177 lines
8.4 KiB
Bash

# ░██████░░███████░░█████░░░██████░░
# ░██░░░░░░░░██░░░░██░░░██░░██░░░██░ 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=??