Files
logstream/docker-compose.yml
T
2026-10-02 11:04:01 +02:00

64 lines
2.2 KiB
YAML

services:
logstream:
build: .
container_name: logstream
restart: unless-stopped
depends_on:
- victorialogs
- docker-proxy
ports:
- "${SYSLOG_PORT:-514}:5514/udp"
- "${SYSLOG_PORT:-514}:5514/tcp"
- "${HTTP_PORT:-8080}:8080"
environment:
VLOGS_URL: http://victorialogs:9428
SYSLOG_PUBLIC_PORT: ${SYSLOG_PORT:-514} # le port d'ecoute syslog par defaut (attention aux ports <1024)
TZ: ${TZ:-Europe/Paris}
AUTH_USER: ${AUTH_USER:-} # vide = pas d'authentification, on delegue ca au reverse proxy traefik
AUTH_PASS: ${AUTH_PASS:-}
RDNS: ${RDNS:-on} # resol dns
DNS_SERVER: ${DNS_SERVER:-} # si resolv directe
ALLOW_PURGE: ${ALLOW_PURGE:-true}
EXPORT_MAX: ${EXPORT_MAX:-100000}
DOCKER_LOGS: ${DOCKER_LOGS:-on} # collecte des logs des conteneurs Docker
DOCKER_HOST: tcp://docker-proxy:2375 # lecture seul de l'API Docker
DOCKER_BACKFILL: ${DOCKER_BACKFILL:-1h}
volumes:
- logstream-data:/data # tags.json, docker.json (les choix des conteneurs)
labels:
logstream.exclude: "true" # pas de collect des logs logstream
victorialogs:
image: victoriametrics/victoria-logs:v1.52.0
container_name: logstream-victorialogs
restart: unless-stopped
command:
- -storageDataPath=/vlogs
- -retentionPeriod=${RETENTION:-30d}
- -httpListenAddr=:9428
- -delete.enable # obliger pour autoriser la purge de la base via l'interface
volumes:
- vlogs-data:/vlogs
ports:
# VictoriaLogs debug UI (http://localhost:9428/select/vmui), localhost only
- "127.0.0.1:9428:9428"
docker-proxy:
# Docker proxy pour eviter de solliciter directement l'API docker
image: tecnativa/docker-socket-proxy:v0.5.0
container_name: logstream-docker-proxy
restart: unless-stopped
environment:
CONTAINERS: 1
EVENTS: 1
INFO: 1
POST: 0
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
labels:
logstream.exclude: "true" # pour exclure les logs propres de logstream
volumes:
logstream-data:
vlogs-data: