Skip to main content

NGINX is Dead? // Angie Web Server Migration Guide

Migrate from nginx to Angie in Docker, set up built-in ACME for automatic TLS certificates, enable native Prometheus metrics, and configure Docker upstream discovery.

Prerequisites
#

  • Docker and Docker Compose installed
  • Existing nginx config you want to migrate (optional)
  • A public domain name pointing to your server (for ACME / TLS)

References
#

Instructions
#

Migrate from nginx to Angie
#

Swap the image from nginx to docker.angie.software/angie and update the config mount path from /etc/nginx/conf.d/ to /etc/angie/http.d/.

Your existing nginx config syntax works as-is.

Built-in ACME (TLS without certbot)
#

Register an ACME client and reference it in your server block:

acme_client letsencrypt https://acme-v02.api.letsencrypt.org/directory
    email=your@email.com;

server {
  listen 443 ssl;
  server_name your.domain.com;

  ssl_certificate      $acme_cert_letsencrypt;
  ssl_certificate_key  $acme_cert_key_letsencrypt;
  acme                 letsencrypt;

  # ... your existing config
}

Persist certificates by mounting a volume to /var/lib/angie/acme.

Important: HTTP validation requires ports 80 and 443 open to the internet and a public domain pointing to your server.

Prometheus Metrics
#

Enable native metrics with a single directive — no exporter sidecar needed:

include prometheus_all.conf;

server {
  listen 9091;

  location = /metrics {
    prometheus all;
  }
}

Docker Upstream Discovery
#

Point Angie at the Docker socket and add a label to your upstream container:

labels:
  - "angie.http.upstreams.whoami.port=80"

Declare the Docker endpoint and upstream in your config:

docker_endpoint unix:/var/run/docker.sock;

upstream whoami {
  zone whoami 1m;
}

server {
  listen 80;

  location /whoami/ {
    proxy_pass http://whoami/;
  }
}

Angie watches Docker events in real time — no reload needed when containers start or stop.

Kubernetes: Angie Ingress Controller (ANIC)
#

If you are running ingress-nginx, the main alternatives are:

Christian Lempa
Author
Christian Lempa
IT & Tech Nerd | DevOps and Automation FanBoy