Environment Variables

Configuration variables for Next.js and Drupal.


.env

# JsonApi url for public access.
DRUPAL_BASE_URL=https://backend-vactory.leserveurdetest.com
# Backoffice Url for private access (to allow next iframing).
NEXT_DRUPAL_BACKOFFICE_URL=https://backend-vactory.leserveurdetest.com
# Next public base url (final frontend url)
NEXT_BASE_URL=http://localhost:3000
# Next image domain (generally all website files would be served through this domain).
NEXT_IMAGE_DOMAIN=vactory.leserveurdetest.com
# Keycloack keys.
KEYCLOAK_ID=vactory
KEYCLOAK_SECRET=YOUR_KEYCLOAK_SECRET
KEYCLOAK_ISSUER=https://keycloak.lecontenaire.com/auth/realms/dev
# Facebook auth keys.
FACEBOOK_CLIENT_ID=YOUR_FACEBOOK_CLIENT_ID
FACEBOOK_CLIENT_SECRET=YOUR_FACEBOOK_CLIENT_SECRET
# Google auth keys.
GOOGLE_CLIENT_ID=YOUR_GOOGLE_CLIENT_ID
GOOGLE_CLIENT_SECRET=YOUR_GOOGLE_CLIENT_SECRET
# Redis cache server info.
REDIS_PREFIX=vactory
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_USERNAME=default
REDIS_PASSWORD=YOUR_REDIS_PASSWORD
REDIS_ROUTER_EXPIRE=300
REDIS_NODE_EXPIRE=60
CACHE_SECRET=YOUR_CACHE_SECRET
# Drupal simple auth client keys.
OAUTH_CLIENT_ID=YOUR_OAUTH_CLIENT_ID
OAUTH_CLIENT_SECRET=YOUR_OAUTH_CLIENT_SECRET
#DRUPAL_CLIENT_DEBUG=TRUE
# Google maps key.
GOOGLE_MAPS_KEY=YOUR_GOOGLE_MAPS_KEY
# Nextauth infos.
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=YOUR_NEXTAUTH_SECRET
JWT_SIGNING_PRIVATE_KEY=YOUR_JWT_SIGNING_PRIVATE_KEY
SENTRY_DSN=YOUR_SENTRY_DSN
ADMIN_CONSOLE_BASICAUTH_USERS=admin:password,test:test
ADMIN_CONSOLE_API_KEY=YOUR_ADMIN_CONSOLE_API_KEY
NODE_HEAP_SNAPSHOT_API_ROUTE_KEY=YOUR_NODE_HEAP_SNAPSHOT_KEY
WHO_AM_I_API_ROUTE_KEY=YOUR_WHO_AM_I_API_ROUTE_KEY
JWT_SECRET_KEY=YOUR_JWT_SECRET_KEY
ALLOWED_IPS=127.0.0.1,::1

Base URLs

These environment variables are required to connect your Next.js application to Drupal.

VariableDescription
DRUPAL_BASE_URLThe base URL for your Drupal backend (JsonApi url for public access)
NEXT_DRUPAL_BACKOFFICE_URLBackoffice URL for private access (to allow Next.js iframing)
NEXT_BASE_URLThe base URL for your Next.js frontend (final frontend url)
NEXT_IMAGE_DOMAINDomain for Next.js image optimization

Redis Cache

These variables configure Redis for caching.

VariableDescription
REDIS_HOSTRedis server host (or unix socket path)
REDIS_PORTRedis server port (default: 6379, use -1 for unix socket)
REDIS_USERNAMERedis username (default: "default")
REDIS_PASSWORDRedis password
REDIS_PREFIXPrefix for Redis cache keys
REDIS_ROUTER_EXPIRERouter cache expiration time in seconds (default: 300)
REDIS_NODE_EXPIRENode cache expiration time in seconds (default: 60)
CACHE_SECRETSecret key for authorizing cache clear requests to /api/cache/clear

Authentication

Variables for Next.js authentication.

VariableDescription
NEXTAUTH_URLFull URL of your Next.js application
NEXTAUTH_SECRETSecret used to encrypt JWT tokens
JWT_SIGNING_PRIVATE_KEYJWT signing key (JSON format)
JWT_SECRET_KEYAdditional JWT secret key for token verification

OAuth Providers

Drupal Simple OAuth

VariableDescription
OAUTH_CLIENT_IDClient ID from Drupal Simple OAuth
OAUTH_CLIENT_SECRETClient secret from Drupal Simple OAuth

Keycloak OAuth

VariableDescription
KEYCLOAK_IDKeycloak client ID
KEYCLOAK_SECRETKeycloak client secret
KEYCLOAK_ISSUERKeycloak issuer URL

Social OAuth Providers

VariableDescription
FACEBOOK_CLIENT_IDFacebook OAuth client ID
FACEBOOK_CLIENT_SECRETFacebook OAuth client secret
GOOGLE_CLIENT_IDGoogle OAuth client ID
GOOGLE_CLIENT_SECRETGoogle OAuth client secret

External Services

VariableDescription
GOOGLE_MAPS_KEYGoogle Maps API key for maps integration

Debugging

VariableDescription
DRUPAL_CLIENT_DEBUGWhen set to TRUE, enables debug logging for Drupal API client

Administration Console

VariableDescription
ADMIN_CONSOLE_BASICAUTH_USERSBasic authentication credentials for admin console (format: username:password,username2:password2)
ADMIN_CONSOLE_API_KEYAPI key for admin console
NODE_HEAP_SNAPSHOT_API_ROUTE_KEYSecurity key for Node.js heap snapshot API route
WHO_AM_I_API_ROUTE_KEYSecurity key for the "who am I" API endpoint

Security

VariableDescription
ALLOWED_IPSComma-separated list of IP addresses allowed to access restricted areas

Monitoring

VariableDescription
SENTRY_DSNSentry Data Source Name for error tracking and monitoring