docker.recipes

Angie Web Server

beginner

NGINX fork with additional features developed in Russia.

Overview

Angie is a modern fork of NGINX developed in Russia that serves as a drop-in replacement for the popular web server with enhanced features and active development. Originally created to address NGINX's slowing development pace and commercial licensing restrictions, Angie maintains full compatibility with NGINX configurations while adding valuable features like dynamic certificate loading, built-in ACME protocol support, enhanced statistics API, and HTTP/3 QUIC support. This deployment provides a single Angie web server container configured to serve web content and handle SSL/TLS termination. The container exposes both HTTP (port 80) and HTTPS (port 443) and mounts local directories for configuration files and web content, making it straightforward to migrate from existing NGINX setups. This setup is ideal for users seeking NGINX's proven performance and compatibility with modern features typically found only in commercial web server solutions. The single-container approach simplifies deployment while providing enterprise-grade capabilities like automatic certificate management and enhanced monitoring through the built-in statistics API.

Key Features

  • Full NGINX configuration compatibility for easy migration
  • Dynamic certificate loading without server restarts
  • Built-in ACME protocol support for automatic SSL certificate management
  • Enhanced statistics API accessible via /status endpoint
  • HTTP/3 QUIC protocol support for improved performance
  • Dynamic upstream resolution for better load balancing
  • Active development with regular security updates and feature releases
  • Free access to features typically found in commercial web server solutions

Common Use Cases

  • 1Migrating from NGINX to gain modern features without configuration changes
  • 2Web hosting environments requiring automatic SSL certificate management
  • 3High-traffic websites needing HTTP/3 QUIC support for performance
  • 4Development environments where dynamic certificate loading speeds deployment
  • 5Organizations seeking NGINX Plus-like features without licensing costs
  • 6Monitoring-heavy deployments utilizing the enhanced statistics API
  • 7Russian organizations requiring domestically developed web server solutions

Prerequisites

  • Minimum 64MB RAM available, 256MB+ recommended for production use
  • Ports 80 and 443 available on the host system
  • Basic understanding of NGINX configuration syntax and directives
  • SSL certificates prepared if not using built-in ACME functionality
  • Docker and Docker Compose installed on the host system
  • Local directories created for configuration files and web content

For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms

docker-compose.yml

docker-compose.yml
1services:
2 angie:
3 image: docker.angie.software/angie:latest
4 container_name: angie
5 restart: unless-stopped
6 volumes:
7 - ./nginx/conf.d:/etc/angie/http.d:ro
8 - ./nginx/html:/usr/share/angie/html:ro
9 ports:
10 - "80:80"
11 - "443:443"
12 networks:
13 - angie-network
14
15networks:
16 angie-network:
17 driver: bridge

.env Template

.env
1# Angie configuration

Usage Notes

  1. 1Docs: https://angie.software/en/
  2. 2NGINX-compatible - migrate configs from /etc/nginx/ to /etc/angie/
  3. 3Enhanced statistics via /status API endpoint
  4. 4Dynamic certificate loading and ACME support built-in
  5. 5Active development with regular releases
  6. 6Configs go in /etc/angie/http.d/ (not conf.d like NGINX)

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 angie:
5 image: docker.angie.software/angie:latest
6 container_name: angie
7 restart: unless-stopped
8 volumes:
9 - ./nginx/conf.d:/etc/angie/http.d:ro
10 - ./nginx/html:/usr/share/angie/html:ro
11 ports:
12 - "80:80"
13 - "443:443"
14 networks:
15 - angie-network
16
17networks:
18 angie-network:
19 driver: bridge
20EOF
21
22# 2. Create the .env file
23cat > .env << 'EOF'
24# Angie configuration
25EOF
26
27# 3. Start the services
28docker compose up -d
29
30# 4. View logs
31docker compose logs -f

One-Liner

Run this command to download and set up the recipe in one step:

terminal
1curl -fsSL https://docker.recipes/api/recipes/angie/run | bash

Troubleshooting

  • Configuration files not loading: Ensure files are placed in ./nginx/http.d/ not ./nginx/conf.d/ as Angie uses different paths
  • SSL certificate errors: Verify certificate files are properly mounted and check ACME configuration for automatic certificates
  • Statistics API not accessible: Confirm /status endpoint is enabled in configuration and not blocked by access restrictions
  • Port binding failures: Check that ports 80 and 443 are not in use by other services like Apache or existing NGINX
  • Container fails to start: Review Angie logs for configuration syntax errors using docker logs angie command

Community Notes

Loading...
Loading notes...

Download Recipe Kit

Get all files in a ready-to-deploy package

Includes docker-compose.yml, .env template, README, and license

Ad Space