Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
193 changes: 193 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
# Vessel Maintenance AI System - Enterprise Configuration
# Copy this file to .env and customize for your environment

# =============================================================================
# APPLICATION SETTINGS
# =============================================================================
APP_NAME="Vessel Maintenance AI System - Enterprise"
APP_VERSION="2.0.0"
ENVIRONMENT="development" # development, staging, production
DEBUG=false

# =============================================================================
# SERVER CONFIGURATION
# =============================================================================
HOST="0.0.0.0"
PORT=8000
WORKERS=4

# =============================================================================
# MULTI-TENANT CONFIGURATION
# =============================================================================
MULTI_TENANT_ENABLED=true
TENANT_ISOLATION_LEVEL="database" # database, schema, row
DEFAULT_TENANT_ID="default"
MAX_TENANTS=100

# =============================================================================
# DATABASE CONFIGURATION
# =============================================================================
DATABASE_BACKEND="sqlite" # sqlite, postgresql, mysql
DATABASE_URL="sqlite:///./data/vessel_maintenance.db"
DATABASE_POOL_SIZE=20
DATABASE_MAX_OVERFLOW=30
DATABASE_POOL_TIMEOUT=30

# PostgreSQL Configuration (if using PostgreSQL)
POSTGRES_HOST="localhost"
POSTGRES_PORT=5432
POSTGRES_USER="vessel_admin"
POSTGRES_PASSWORD="your_secure_password"
POSTGRES_DATABASE="vessel_maintenance"

# MySQL Configuration (if using MySQL)
MYSQL_HOST="localhost"
MYSQL_PORT=3306
MYSQL_USER="vessel_admin"
MYSQL_PASSWORD="your_secure_password"
MYSQL_DATABASE="vessel_maintenance"

# =============================================================================
# AUTHENTICATION AND SECURITY
# =============================================================================
AUTH_PROVIDER="local" # local, ldap, oauth2, saml
SECRET_KEY="your-super-secret-key-change-in-production-minimum-32-characters"
ACCESS_TOKEN_EXPIRE_MINUTES=30
REFRESH_TOKEN_EXPIRE_DAYS=7

# LDAP Configuration (if using LDAP)
LDAP_SERVER=""
LDAP_PORT=389
LDAP_BASE_DN=""
LDAP_USER_DN=""
LDAP_PASSWORD=""

# OAuth2 Configuration (if using OAuth2)
OAUTH2_CLIENT_ID=""
OAUTH2_CLIENT_SECRET=""
OAUTH2_SERVER_URL=""

# =============================================================================
# RATE LIMITING
# =============================================================================
RATE_LIMITING_ENABLED=true
RATE_LIMIT_PER_MINUTE=60
RATE_LIMIT_PER_HOUR=1000
RATE_LIMIT_PER_DAY=10000
RATE_LIMIT_BURST=10

# =============================================================================
# CACHING CONFIGURATION
# =============================================================================
CACHE_BACKEND="memory" # memory, redis, memcached
CACHE_TTL=3600
REDIS_URL="redis://localhost:6379/0"
REDIS_PASSWORD=""

# =============================================================================
# BACKGROUND PROCESSING
# =============================================================================
CELERY_BROKER_URL="redis://localhost:6379/1"
CELERY_RESULT_BACKEND="redis://localhost:6379/2"
BATCH_PROCESSING_ENABLED=true
MAX_BATCH_SIZE=100

# =============================================================================
# SECURITY AND ENCRYPTION
# =============================================================================
ENCRYPTION_ENABLED=true
ENCRYPTION_KEY="" # Leave empty to auto-generate
DATA_AT_REST_ENCRYPTION=true
SSL_ENABLED=false
SSL_CERT_PATH=""
SSL_KEY_PATH=""

# =============================================================================
# CORS CONFIGURATION
# =============================================================================
CORS_ORIGINS="*" # Comma-separated list or "*" for all
CORS_ALLOW_CREDENTIALS=true
CORS_ALLOW_METHODS="*"
CORS_ALLOW_HEADERS="*"

# =============================================================================
# MONITORING AND OBSERVABILITY
# =============================================================================
MONITORING_ENABLED=true
METRICS_ENDPOINT="/metrics"
HEALTH_CHECK_ENDPOINT="/health"
LOG_LEVEL="INFO"
STRUCTURED_LOGGING=true

# =============================================================================
# REAL-TIME NOTIFICATIONS
# =============================================================================
NOTIFICATIONS_ENABLED=true
WEBSOCKET_ENABLED=true
EMAIL_NOTIFICATIONS=false
SMS_NOTIFICATIONS=false

# Email Configuration (if using email notifications)
SMTP_SERVER=""
SMTP_PORT=587
SMTP_USERNAME=""
SMTP_PASSWORD=""
SMTP_USE_TLS=true

# =============================================================================
# AI AND ML CONFIGURATION
# =============================================================================
CUSTOM_MODELS_ENABLED=true
MODEL_TRAINING_ENABLED=false
MODEL_STORAGE_PATH="./models"
AUTO_MODEL_UPDATES=false

# =============================================================================
# ANALYTICS AND REPORTING
# =============================================================================
ADVANCED_ANALYTICS_ENABLED=true
PREDICTIVE_ANALYTICS=true
TREND_ANALYSIS=true
ANALYTICS_RETENTION_DAYS=365

# =============================================================================
# COMPLIANCE AND AUDIT
# =============================================================================
AUDIT_LOGGING=true
GDPR_COMPLIANCE=true
DATA_RETENTION_DAYS=2555 # 7 years
AUDIT_LOG_RETENTION_DAYS=2555

# =============================================================================
# MARITIME STANDARDS
# =============================================================================
IMO_COMPLIANCE=true
MARITIME_STANDARDS_VALIDATION=true

# =============================================================================
# FILE UPLOAD CONFIGURATION
# =============================================================================
MAX_FILE_SIZE=52428800 # 50MB in bytes
ALLOWED_FILE_TYPES=".txt,.pdf,.doc,.docx,.csv,.json"

# =============================================================================
# API CONFIGURATION
# =============================================================================
API_PREFIX="/api/v1"
DOCS_URL="/docs"
REDOC_URL="/redoc"

# =============================================================================
# PRODUCTION RECOMMENDATIONS
# =============================================================================
# For production deployment, ensure you:
# 1. Set ENVIRONMENT="production"
# 2. Use a strong SECRET_KEY (minimum 32 characters)
# 3. Configure appropriate CORS_ORIGINS (not "*")
# 4. Set up PostgreSQL or MySQL instead of SQLite
# 5. Configure Redis for caching and background processing
# 6. Enable SSL with proper certificates
# 7. Set up proper SMTP for email notifications
# 8. Configure monitoring and alerting
# 9. Set up automated backups
# 10. Configure log aggregation and monitoring
Loading
Loading