--- version: "3.8" services: nginx: image: jc21/nginx-proxy-manager:latest container_name: nginx restart: unless-stopped ports: - 80:80 - 443:443 - 81:81 environment: DISABLE_IPV6: 'true' TZ: $TZ volumes: - nginx_data:/data - nginx_certs:/etc/letsencrypt authelia: image: authelia/authelia:latest container_name: authelia volumes: - authelia_config:/config ports: - 9091:9091 restart: unless-stopped healthcheck: disable: true environment: - TZ=$TZ depends_on: - redis redis: image: redis:alpine container_name: redis volumes: - redis_data:/data expose: - 6379 restart: unless-stopped environment: - TZ=$TZ fail2ban: image: crazymax/fail2ban:latest container_name: fail2ban cap_add: - NET_ADMIN - NET_RAW network_mode: host environment: - TZ=$TZ - VERBOSITY=-vv volumes: - authelia_config:/remotelogs/authelia:ro - nextcloud_aio_nextcloud:/remotelogs/nextcloud:ro - gitea_app:/remotelogs/gitea:ro - fail2ban_data:/data restart: unless-stopped volumes: nginx_data: driver: local nginx_certs: driver: local authelia_config: driver: local fail2ban_data: driver: local redis_data: driver: local nextcloud_aio_nextcloud: external: true gitea_app: external: true