Traefik est un "proxy inverse HTTP moderne et un équilibreur de charge qui facilite le déploiement de microservices". Entre autres, Traefik peut découvrir automatiquement les applications comme ActivityInfo que vous avez déployées avec Docker, et configurer automatiquement le routage et un certificat SSL.
Installer et configurer Traefik
Digital Ocean fournit un guide complet pour déployer et démarrer Traefik sur Ubuntu 20.04. Suivez les instructions de cet article si Traefik n'est pas encore en cours d'exécution.
Configurer le service ActivityInfo
Le fichier Docker Compose suivant configure le serveur ActivityInfo. Il exécute également l'image officielle clamav/clamav en tant que sidecar afin qu'ActivityInfo puisse analyser les pièces jointes téléversées à la recherche de logiciels malveillants (voir Analyse des logiciels malveillants avec ClamAV). Enregistrez la configuration suivante dans un fichier nommé 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 atteint le scanner via le réseau Docker partagé web en utilisant son DNS de nom de service (clamav sur le port 3310). Le service clamav ne porte aucune étiquette Traefik, il reste donc interne et n'est pas exposé à Internet.
Au premier démarrage, l'image clamav/clamav télécharge sa base de données de signatures, ce qui peut prendre quelques minutes. Pendant le téléchargement, les nouvelles pièces jointes téléversées restent en statut En attente et ActivityInfo les analyse automatiquement une fois que ClamAV est prêt, donc aucun ordre de démarrage entre les deux services n'est obligatoire. Si vous ne souhaitez pas l'analyse des logiciels malveillants, supprimez le service clamav et les trois variables d'environnement ACTIVITYINFO_MALWARE_*, et définissez ACTIVITYINFO_MALWARE_ENABLED=false.
Pour démarrer le service, accédez au répertoire où se trouve le fichier Docker Compose et exécutez :
docker-compose up -d