services: nginx: image: nginx:stable container_name: nginx restart: unless-stopped ports: - "80:80" - "443:443" volumes: - ./conf.d:/etc/nginx/conf.d - ./certs:/etc/nginx/certs - ./html:/usr/share/nginx/html # Access and error logs - ./logs:/var/log/nginx networks: - default - shared-proxy-services nginx-exporter: image: nginx/nginx-prometheus-exporter:latest container_name: nginx-exporter restart: unless-stopped command: - --nginx.scrape-uri=http://nginx:8080/nginx_status ports: - "9113:9113" depends_on: - nginx networks: - default - shared-proxy-services crowdsec: image: crowdsecurity/crowdsec:latest container_name: crowdsec restart: unless-stopped environment: COLLECTIONS: > crowdsecurity/nginx crowdsecurity/http-cve volumes: - crowdsec-db:/var/lib/crowdsec/data - ./logs:/var/log/nginx:ro - /etc/localtime:/etc/localtime:ro networks: - default certbot: image: certbot/certbot:latest container_name: certbot volumes: - ./certs:/etc/letsencrypt - ./html:/var/www/certbot networks: - shared-proxy-services networks: default: shared-proxy-services: external: true volumes: crowdsec-db: