Skip to main content

SAMO nginx

A SAMO-specific wrapper around standard nginx Docker images.

Purpose

This wrapper component integrates nginx with the SAMO deployment ecosystem by:

  1. Configuration Management Integration: Uses samo-container-tool (SCT) to collect nginx configurations from SAMO's standardized metadata directory structure
  2. Property Template Processing: Supports replacing environment-specific properties (e.g., ${propertyName}) within nginx configuration files from .properties files, enabling environment-specific configurations (DEV/TEST/PROD)
  3. Standardized Deployment: Provides consistent nginx deployment across different platforms and environments within the SAMO ecosystem

Available Variants

The project builds four Docker image variants:

  • Linux Standard (latest) - Based on official nginx
  • Linux with ModSecurity (modsecurity-latest) - Based on owasp/modsecurity for WAF capabilities
  • Windows Server Core (windows-latest) - nginx on Windows Server Core
  • Windows Server 2022 (windows2022-latest) - nginx on Windows Server 2022 LTSC

Key Features

SAMO Container Tool Integration

The wrapper includes samo-container-tool (SCT) which provides:

  • Automatic collection of nginx configuration from the metadata/nginx directory
  • Template processing for environment-specific property replacement
  • Support for SAMO's packaged project structure

Startup Process

On container startup, the wrapper:

  1. Collects nginx configurations from ${CONFIGURATION_VOLUME_DIR}/nginx into /etc/nginx/ (Linux) or C:/nginx/conf/ (Windows)
  2. Processes configuration templates, replacing properties like ${property} with values from environment configuration
  3. Starts nginx with the processed configuration

Advantages

Pros:

  • SAMO Ecosystem Integration: Seamless integration with SAMO's configuration management and deployment patterns
  • Environment Property Support: Built-in template processing for environment-specific configurations without custom scripts
  • Metadata-Based Configuration: Follows SAMO's standardized metadata directory convention
  • Multiple Variants: Pre-built images for different security (ModSecurity) and platform (Windows/Linux) requirements