SAMO nginx
A SAMO-specific wrapper around standard nginx Docker images.
Purpose
This wrapper component integrates nginx with the SAMO deployment ecosystem by:
- Configuration Management Integration: Uses
samo-container-tool(SCT) to collect nginx configurations from SAMO's standardized metadata directory structure - Property Template Processing: Supports replacing environment-specific properties (e.g.,
${propertyName}) within nginx configuration files from.propertiesfiles, enabling environment-specific configurations (DEV/TEST/PROD) - 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:
- Collects nginx configurations from
${CONFIGURATION_VOLUME_DIR}/nginxinto/etc/nginx/(Linux) orC:/nginx/conf/(Windows) - Processes configuration templates, replacing properties like
${property}with values from environment configuration - 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