docbrown/.env_sample
Jeremy Friesen bde5064c9c
Skip google analytics when ga_tracking_id is nil (#15967)
* Skip google analytics when ga_tracking_id is nil

This commit involves short-circuiting Google Analytics calls when the
Forem has not configured a `Settings::General.ga_tracking_id`.  Note,
depending on your local `.env` file (or configured ENV variables) you
may have a `GA_TRACKING_ID` value set; I did, it was set to "Optional"
which overrode the database setting.

We set the HTML data properites in two places: [admin.html.erb][1] and
[application.html.erb][2].

In addition, I'm short-circuiting the local fallback analytics call (via
[Stacato][https://github.com/tpitale/staccato]).  My understanding of
Stacato, based on a cursory read, requires a Google Analytics Tracking
ID to work.

And last, we have a one off of javascript for Google Analytics tracking.

This closes #15962.

[1]:528bd2baa6/app/views/layouts/admin.html.erb (L31)
[2]:528bd2baa6/app/views/layouts/application.html.erb (L55)

How to test?

- Check your .env file to see if you have set GA_TRACKING_ID.  If so,
  unset it.
- Start with a fresh Forem instance.

- Open your browser and open the developer tools to inspect the Network
  activity.
- Open the homepage of your local Forem instance (http://localhost:3000)
- Filter your Network results for analytics.  You shouldn't see any.

Also, make sure you're disabling any blockers you might have as that
influences things.

* Commenting out GA_TRACKING_ID

Related to https://github.com/forem/forem/pull/15967

* Favor empty GA_TRACKING_ID env variable
2022-01-06 12:21:07 -05:00

168 lines
4.3 KiB
Text

# Development options
# App core values
APP_DOMAIN="localhost:3000"
APP_PROTOCOL="http://"
FOREM_OWNER_SECRET="secret"
# Community Related Variables
COMMUNITY_NAME="DEV(local)"
# Email related variables
DEFAULT_EMAIL="yo@dev.to"
# Service timeout length
RACK_TIMEOUT_WAIT_TIMEOUT=100_000
RACK_TIMEOUT_SERVICE_TIMEOUT=100_000
# Heroku release slug used to bust caches on deploys
HEROKU_RELEASE_CREATED_AT=""
HEROKU_SLUG_COMMIT=""
# Redis caching storage
REDIS_URL="redis://localhost:6379"
# Redis sessions storage
REDIS_SESSIONS_URL="redis://localhost:6379"
SESSION_KEY="_Dev_Community_Session"
# two weeks in seconds
SESSION_EXPIRY_SECONDS=1209600
# Redis Sidekiq storage
REDIS_SIDEKIQ_URL="redis://localhost:6379"
# Redis Devices/Rpush storage
REDIS_RPUSH_URL="redis://localhost:6379"
# OpenResty
OPENRESTY_URL=""
# SSL config
FORCE_SSL_IN_RAILS="not applicable in dev"
# Postgres DB
# Used when creating a db instance `rails db:create`
DATABASE_NAME="Forem_development"
# This takes precedence over `DATABASE_NAME` if they don't match
DATABASE_URL="postgresql://localhost:5432/Forem_development"
# Specifies the number of Puma threads
RAILS_MAX_THREADS=5
# Specifies the number of `workers` to boot in clustered mode.
WEB_CONCURRENCY=2
# The number of concurrent connections to Postgres. If unset the value of RAILS_MAX_THREADS will be used in it's place.
DATABASE_POOL_SIZE=5
DATABASE_NAME_TEST=Forem_test
# Differentiate test db from dev db. Test DB is wiped on each test run.
DATABASE_URL_TEST="postgresql://localhost:5432/Forem_test"
# Rails
# Set to 'production' when deploying for security and performance.
RAILS_ENV="development"
# Node
# Set to 'production' when deploying for security and performance.
NODE_ENV="development"
################################################
######### Optional 3rd Party Services ##########
################################################
# Honeybadger for error tracking
# (https://docs.honeybadger.io/lib/ruby/getting-started/introduction.html)
HONEYBADGER_API_KEY="Optional"
HONEYBADGER_JS_API_KEY="Optional"
# AWS for images storages
AWS_ID=
AWS_SECRET=
AWS_BUCKET_NAME=
AWS_UPLOAD_REGION=
# AWS for video storage
AWS_S3_INPUT_BUCKET="Optional"
AWS_S3_VIDEO_ID="Optional"
AWS_S3_VIDEO_KEY="Optional"
# Buffer for sending to buffer
# This is legacy, as Buffer no longer supports this functionality for NEW accounts.
# DEV is still using this for now.
# (https://buffer.com/developers/api)
BUFFER_ACCESS_TOKEN="Optional"
BUFFER_FACEBOOK_ID="Optional"
BUFFER_LINKEDIN_ID="Optional"
BUFFER_PROFILE_ID=0
BUFFER_TWITTER_ID="Optional"
BUFFER_LISTINGS_PROFILE="Optional"
# Cloudinary for image resizing and cache??
# (https://cloudinary.com/documentation/rails_integration)
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_SECURE=
# HTML/CSS to Image for generating social preview images
# (https://docs.htmlcsstoimage.com/example-code/ruby)
HCTI_API_USER_ID="Optional"
HCTI_API_KEY="Optional"
# Fastly for edge caching
# (https://docs.fastly.com/api/)
FASTLY_API_KEY=""
FASTLY_SERVICE_ID=""
# Honeycomb for monitoring and observability
# (https://www.honeycomb.io/)
HONEYCOMB_API_KEY=""
# Google analytics
# (https://developers.google.com/analytics/devguides/reporting/core/v4)
# When blank don't render Google Analytics.
GA_TRACKING_ID=""
# Mailchimp for mails
# (https://mailchimp.com/developer/)
MAILCHIMP_API_KEY="Optional-valid"
# Google recaptcha (Optional)
# (https://developers.google.com/recaptcha/intro)
RECAPTCHA_SECRET=
RECAPTCHA_SITE=
# Slack for customer alerts
# (https://api.slack.com/)
SLACK_CHANNEL=""
SLACK_DEPLOY_CHANNEL=""
SLACK_WEBHOOK_URL=""
# For video calling in DEV Connect
# (https://www.twilio.com/docs/video)
TWILIO_ACCOUNT_SID="Optional"
TWILIO_VIDEO_API_KEY="Optional"
TWILIO_VIDEO_API_SECRET="Optional"
# For Twitch live stream integration
# (https://dev.twitch.tv/docs)
TWITCH_CLIENT_ID="Optional"
TWITCH_CLIENT_SECRET="Optional"
TWITCH_WEBHOOK_SECRET="Optional"
# For calling the Stack Exchange API
# (https://api.stackexchange.com/docs)
STACK_EXCHANGE_APP_KEY=""
# For calling the Github API
# (https://docs.github.com/)
GITHUB_KEY="Optional"
GITHUB_SECRET="Optional"
# For SMTP configuration
SMTP_ADDRESS=
SMTP_PORT=
SMTP_DOMAIN=
SMTP_USER_NAME=
SMTP_PASSWORD=
SMTP_AUTHENTICATION=
# Disable simplecov coverage testing when running rspec locally
COVERAGE="false"