Container servant de proxy web à tous les autres containers nécessitant une interface web accessible.
docker exec -it nginx-proxy-letsencrypt /bin/bash/app/ lancer la commande suivante en adaptant votre domaine : ./letsencrypt_service example.silene.eu,www.example.silene.eu nginx ou www-data sur l'hôte puis d'utiliser les identifiant de cet utilisateur dans le container nginx-proxy. Cela permettrait d'avoir des droits cohérents entre le container et l'hôte pour les fichiers de logs.
/var/log/nginx/ avec : mkdir /var/log/nginx/
chown root:adm /var/log/nginx/ ; chmod 640 /var/log/nginx/
touch /var/log/nginx/access.log /var/log/nginx/error.log
copytruncate dans la conf Logrotate: docker exec -it nginx-proxy bash
id.chown 101:adm *.log
logrotate avec : apt install logrotate
touch /etc/logrotate.d/nginx
/var/log/nginx/*.log { daily missingok rotate 400 compress delaycompress notifempty su root adm # User "nginx" in container has an id of 101 #create 0640 101 adm # To avoid permission issues with directory and files shared between host and container: see copytruncate copytruncate dateext dateyesterday dateformat .%Y-%m-%d sharedscripts postrotate cd /home/admin/docker/proxy/ \ && /usr/bin/docker compose kill -s USR1 nginx-proxy endscript }
docker-compose.yml de la stack proxy dans /home/admin/docker/ en tant qu'utilisateur admin :nginx-proxy doit contenir :network_mode: "host"
$remote_addrports: sinon l'erreur ! nginx-proxy Published ports are discarded when using host network mode apparaîtra.volumes: l'entrée suivante :volumes: - /var/log/nginx/:/var/log/nginx/
nginx.conf avec : http { # Enabling request time log_format enhanced-fmt '$remote_addr $host $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent" ' 'rt="$request_time" uct="$upstream_connect_time" uht="$upstream_header_time" urt="$upstream_response_time" ' 'gzr="$gzip_ratio" '; access_log /var/log/nginx/access.log enhanced-fmt; error_log /var/log/nginx/error.log; }
proxy avec : docker compose down && docker compose up -d
/var/log/nginx/access.loglogrotate -f /etc/logrotate.d/nginx