# ================================ PLEASE READ ========================================== # This file outlines all the possible environment variables supported by the Maybe app. # # This includes several features that are for our "hosted" version of Maybe, which most # open-source contributors won't need. # # If you are developing locally, you should be referencing `.env.local.example` instead. # ======================================================================================= # Custom port config # For users who have other applications listening at 3000, this allows them to set a value puma will listen to. PORT=3000 # Exchange Rate & Stock Pricing API # This is used to convert between different currencies in the app. In addition, it fetches global stock prices. We use Synth, which is a Maybe product. You can sign up for a free account at synthfinance.com. SYNTH_API_KEY= # SMTP Configuration # This is only needed if you intend on sending emails from your Maybe instance (such as for password resets or email financial reports). # Resend.com is a good option that offers a free tier for sending emails. SMTP_ADDRESS= SMTP_PORT=465 SMTP_USERNAME= SMTP_PASSWORD= SMTP_TLS_ENABLED=true # Address that emails are sent from EMAIL_SENDER= # Database Configuration DB_HOST=localhost # May need to be changed to `DB_HOST=db` if using devcontainer DB_PORT=5432 POSTGRES_PASSWORD=postgres POSTGRES_USER=postgres # App Domain # This is the domain that your Maybe instance will be hosted at. It is used to generate links in emails and other places. APP_DOMAIN= ## Error and Performance Monitoring # The app uses Sentry to monitor errors and performance. In reality, you likely don't need this unless you're deploying Maybe to many users. SENTRY_DSN= # If enabled, an invite code generated by `rake invites:create` is required to sign up as a new user. # This is useful for controlling who can sign up for your Maybe instance. REQUIRE_INVITE_CODE=false # Enables self hosting features (should be set to true for most folks) SELF_HOSTED=true # The hosting platform used to deploy the app (e.g. "render") # `localhost` (or unset) is used for local development and testing HOSTING_PLATFORM=localhost # Secret key used to encrypt credentials (https://api.rubyonrails.org/v7.1.3.2/classes/Rails/Application.html#method-i-secret_key_base) # Has to be a random string, generated eg. by running `openssl rand -hex 64` SECRET_KEY_BASE=secret-value # Disable enforcing SSL connections # DISABLE_SSL=true # ====================================================================================================== # Upgrades Module - responsible for triggering upgrade alerts, prompts, and auto-upgrade functionality # ====================================================================================================== # # UPGRADES_ENABLED: Enables Upgrader class functionality. # UPGRADES_MODE: Controls how the app will upgrade. `manual` means the user must manually upgrade the app. `auto` means the app will upgrade automatically (great for self-hosting) # UPGRADES_TARGET: Controls what the app will upgrade to. `release` means the app will upgrade to the latest release. `commit` means the app will upgrade to the latest commit. # UPGRADES_ENABLED=false # unless editing the flow, you should keep this `false` locally in development UPGRADES_MODE=manual # `manual` or `auto` UPGRADES_TARGET=release # `release` or `commit` # ====================================================================================================== # Git Repository Module - responsible for fetching latest commit data for upgrades # ====================================================================================================== # GITHUB_REPO_OWNER=maybe-finance GITHUB_REPO_NAME=maybe GITHUB_REPO_BRANCH=main # ====================================================================================================== # Active Storage Configuration - responsible for storing file uploads # ====================================================================================================== # # * Defaults to disk storage but you can also use Amazon S3, Google Cloud Storage, or Microsoft Azure Storage. # * Set the appropriate environment variables to use these services. # * Ensure libvips is installed on your system for image processing - https://github.com/libvips/libvips # # Amazon S3 # ========== # ACTIVE_STORAGE_SERVICE=amazon # S3_ACCESS_KEY_ID= # S3_SECRET_ACCESS_KEY= # S3_REGION= # defaults to `us-east-1` if not set # S3_BUCKET= # # Cloudflare R2 # ============= # ACTIVE_STORAGE_SERVICE=cloudflare # CLOUDFLARE_ACCOUNT_ID= # CLOUDFLARE_ACCESS_KEY_ID= # CLOUDFLARE_SECRET_ACCESS_KEY= # CLOUDFLARE_BUCKET= # ====================================================================================================== # Billing Module - responsible for handling billing # ====================================================================================================== # STRIPE_PUBLISHABLE_KEY= STRIPE_SECRET_KEY= STRIPE_WEBHOOK_SECRET= # ====================================================================================================== # Plaid Configuration # ====================================================================================================== # PLAID_CLIENT_ID= PLAID_SECRET= PLAID_ENV=