Skip to content

Enviornment Variable Setup

This setup guide will walk you through the enviornment variables you will need to launch your local enviornment.

.env File Setup - snapcaster-backend

  • Directorysnapcaster-backend
    • Directoryservices
      • Directoryanalytics
        • .env
      • Directoryautocomplete
        • .env
      • Directorycatalog
        • .env
      • Directorypayment
        • .env
      • Directorysearch
        • .env
      • Directoryuser
        • .env
    • .env

Enviornmental variable setup steps:

  1. snapcaster-backend

    snapcaster-backend/.env
    NODE_ENV = development
    MONGO_URI = mongodb://root:password@127.0.0.1:27017/
    REDIS_URI = http://localhost:6379/
    POSTGRES_URI = postgresql://user:password@localhost:5432/users_db
    DISCORD_WEBHOOK_URL = [Message an admin or make your own]
    CONDUCT_COMMERCE_EXPORT_URL = https://api.conductcommerce.com/v1/inventoryExportLocations?host=
    JWT_SECRET = secret
    DISCORD_REDIRECT_URI = http://localhost/user/auth/discord/callback
  2. analytics

    snapcaster-backend/services/analytics/.env
    PORT = 3006
    MONGO_URI = mongodb://root:password@mongo:27017
    REDIS_URI = redis://redis:6379
    NODE_ENV = development
    JWT_SECRET = secret
    # If using google analytics...
    ENCODED_GOOGLE_CREDENTIALS = [Message an admin but not needed]
    GA4_PROPERTY_ID = [Message an admin but not needed]
  3. autocomplete

    snapcaster-backend/services/autocomplete/.env
    PORT = 3001
    MONGO_URI = mongodb://root:password@mongo:27017
    REDIS_URI = redis://redis:6379
    NODE_ENV = development
  4. catalog

    snapcaster-backend/services/catalog/.env
    PORT = 3005
    POSTGRES_URI = postgresql://user:password@postgres:5432/users_db
    MONGO_URI = mongodb://root:password@mongo:27017
    REDIS_URI = redis://redis:6379
    NODE_ENV =development
    JWT_SECRET = secret
  5. payment

    snapcaster-backend/services/payment/.env
    PORT = 3003
    JWT_SECRET = secret
    POSTGRES_URI = postgresql://user:password@postgres:5432/users_db
    NODE_ENV = development
    # Used for Stripe
    CLIENT_URL = http://localhost:3004 # used for redirecting to client after payment
    STRIPE_WEBHOOK_SECRET = whsec_100
    STRIPE_SECRET_KEY = sk_test_100
    STRIPE_PUBLIC_KEY = pk_test_100
    STRIPE_PRICE_ID = price_100
    # Used for assigning Discord roles to users
    DISCORD_SERVER_ID = [Message an admin but not needed]
    DISCORD_BOT_TOKEN = [Message an admin but not needed]
    DISCORD_PRO_ROLE_ID = [Message an admin but not needed]
  6. search

    snapcaster-backend/services/search/.env
    NODE_ENV=development
    JWT_SECRET= secret
    POSTGRES_URI=postgresql://user:password@postgres:5432/users_db
    MONGO_URI=mongodb://root:password@127.0.0.1:27017/
  7. user

    snapcaster-backend/services/user/.env
    PORT = 3002
    CLIENT_URL = http://localhost:3004 # used for redirecting to client after email verification
    USER_SERVICE_URL = http://localhost/user # used to create api url for email verification
    JWT_SECRET = secret
    POSTGRES_URI = postgresql://user:password@postgres:5432/users_db
    NODE_ENV = development
    # required for discord oauth
    DISCORD_CLIENT_ID = [Message an admin but not needed]
    DISCORD_REDIRECT_URI = http://localhost/user/auth/discord/callback
    DISCORD_CLIENT_SECRET = [Message an admin but not needed]
    # required for discord role assignment
    DISCORD_SERVER_ID = [Message an admin but not needed]
    DISCORD_BOT_TOKEN = [Message an admin but not needed]
    DISCORD_PRO_ROLE_ID = [Message an admin but not needed]
    # Used for SES email service
    # e.g. forgot password email, welcome email
    # Not required in dev unless you want to test email service
    AWS_ACCESS_KEY_ID = [Message an admin but not needed]
    AWS_SECRET_ACCESS_KEY = [Message an admin but not needed]
    AWS_REGION = [Message an admin but not needed]

.env.local File Setup - snapcaster-client

  • Directorysnapcaster-client
    • .env.local

Enviornmental variable setup steps:

  1. snapcaster-client
    snapcaster-client/.env.local
    DATABASE_URL = [Message an admin]
    NEXT_PUBLIC_SEARCH_URL = http://localhost:3000
    NEXT_PUBLIC_AUTOCOMPLETE_URL = http://localhost/autocomplete
    NEXT_PUBLIC_USER_URL = http://localhost/user
    NEXT_PUBLIC_PAYMENT_URL = http://localhost/payment
    NEXT_PUBLIC_WISHLIST_URL = http://localhost/wishlist
    NEXT_PUBLIC_ANALYTICS_URL = http://localhost/analytics
    NEXT_PUBLIC_CATALOG_URL = http://localhost/catalog
    NEXT_PUBLIC_BASE_URL = http://localhost:[port the analytics client is on]
    NODE_ENV = development

.env File Setup - snapcaster-analytics

  • Directorysnapcaster-analytics
    • .env

Enviornmental variable setup steps:

  1. snapcaster-analytics
    snapcaster-analytics/.env
    GOOGLE_APPLICATION_CREDENTIALS = google-credentials.json
    JWT_SECRET = secret
    JWT_REFRESH_SECRET = secret
    ROOT_URL = http://localhost:[port the analytics client is on]/
    MONGO_URI = mongodb://root:password@127.0.0.1:27017/
    NEXT_PUBLIC_SEARCH_URL = http://localhost:3000
    NEXTAUTH_SECRET = secret
    NEXTAUTH_URL = http://localhost:3007/
    DATABASE_URL = [Message an admin]
    PG_PORT = [Message an admin]
    GA4_PROPERTY_ID = [Message an admin]
    ENCODED_GOOGLE_CREDENTIALS = [Message an admin]