Traefik es un "proxy inverso HTTP moderno y un balanceador de carga que facilita el despliegue de microservicios". Entre otras cosas, Traefik puede descubrir automáticamente aplicaciones como ActivityInfo que usted ha desplegado con Docker, y configurar automáticamente el enrutamiento y un Certificado SSL.
Instalar y configurar Traefik
Digital Ocean proporciona una guía completa para desplegar e iniciar Traefik en Ubuntu 20.04. Siga las instrucciones de este artículo si aún no tiene Traefik en funcionamiento.
Configurar el servicio de ActivityInfo
El siguiente Archivo Docker Compose configura el servidor de ActivityInfo. También ejecuta la Imagen oficial clamav/clamav como un sidecar para que ActivityInfo pueda escanear los Datos adjuntos cargados en busca de malware (consulte Escaneo de malware con ClamAV). Guarde la siguiente configuración en un Archivo llamado docker-compose.yaml.
version: "3"
networks:
web:
external: true
services:
clamav:
image: clamav/clamav:stable
volumes:
- clamav:/var/lib/clamav
networks:
- web
activityinfo:
image: activityinfo/activityinfo:5.0.0
volumes:
- activityinfo:/data
labels:
- traefik.http.routers.activityinfo.rule=Host(`activityinfo.example.gov`)
- traefik.http.routers.activityinfo.tls=true
- traefik.http.routers.activityinfo.tls.certresolver=lets-encrypt
- traefik.port=80
environment:
- ACTIVITYINFO_SERVER_HTTPS_PROXY=TRUE
- ACTIVITYINFO_SERVER_DOMAIN=activityinfo.example.gov
- ACTIVITYINFO_MALWARE_ENABLED=true
- ACTIVITYINFO_MALWARE_HOST=clamav
- ACTIVITYINFO_MALWARE_PORT=3310
networks:
- web
volumes:
activityinfo:
clamav:
ActivityInfo llega al escáner a través de la red Docker compartida web utilizando su DNS de nombre de servicio (clamav en el puerto 3310). El servicio clamav no lleva etiquetas de Traefik, por lo que permanece interno y no se expone a Internet.
Al iniciarse por primera vez, la Imagen clamav/clamav descarga su Base de datos de signaturas, lo que puede tardar unos minutos. Mientras se descarga, los Datos adjuntos recién cargados permanecen Pendientes y ActivityInfo los escanea automáticamente una vez que ClamAV está listo, por lo que no se requiere ningún orden de inicio entre los dos servicios. Si no desea el escaneo de malware, elimine el servicio clamav y las tres variables de entorno ACTIVITYINFO_MALWARE_*, y establezca ACTIVITYINFO_MALWARE_ENABLED=false.
Para iniciar el servicio, cambie al directorio en el que se encuentra el Archivo Docker compose y ejecute:
docker-compose up -d