Skip to content

Configuration Reference

Configuration options and environment variables for Ignis applications.

Quick Reference

CategoryPurposeKey Variables
ApplicationApp identity and timezoneAPP_ENV_APPLICATION_NAME, APP_ENV_APPLICATION_TIMEZONE
ServerHTTP server settingsAPP_ENV_SERVER_HOST, APP_ENV_SERVER_PORT
DatabasePostgreSQL connectionAPP_ENV_POSTGRES_HOST, APP_ENV_POSTGRES_DATABASE
AuthenticationJWT tokens and secretsAPP_ENV_JWT_SECRET, APP_ENV_APPLICATION_SECRET
LoggingLog file paths and transportsAPP_ENV_LOGGER_FOLDER_PATH
StorageMinIO/S3 file storageAPP_ENV_MINIO_HOST, APP_ENV_MINIO_ACCESS_KEY
MailSMTP email sendingAPP_ENV_MAIL_HOST, APP_ENV_MAIL_USER

Environment Variable Prefix

Ignis uses the APP_ENV_ prefix to avoid conflicts with system variables:

bash
# ✅ Ignis variables
APP_ENV_POSTGRES_HOST=localhost

# ❌ Might conflict with system
POSTGRES_HOST=localhost

Quick Start

Create a .env file in your project root:

bash
# .env
APP_ENV_APPLICATION_NAME=my-app
APP_ENV_SERVER_HOST=0.0.0.0
APP_ENV_SERVER_PORT=3000
APP_ENV_POSTGRES_HOST=localhost
APP_ENV_POSTGRES_DATABASE=my_database

What's in This Section

Configuration Patterns

1. Accessing Variables

typescript
// 1. Direct access
const host = process.env.APP_ENV_POSTGRES_HOST;

// 2. Using helper (recommended)
import { applicationEnvironment, EnvironmentKeys } from '@venizia/ignis';
const host = applicationEnvironment.get<string>(EnvironmentKeys.APP_ENV_POSTGRES_HOST);

2. Environment Files

project/
├── .env                 # Default (development)
├── .env.local           # Local overrides (gitignored)
├── .env.production      # Production values
└── .env.example         # Template (committed)

3. Validation on Startup

Ignis validates required variables on startup. Missing values cause clear error messages.

Related: Environment Variables Reference | DataSources Guide