- GET /api/export.csv streams every stored log matching the filters (newest first, up to EXPORT_MAX rows, 100000 by default) straight from VictoriaLogs, with dates in the time zone chosen in Settings. - Export button with two variants: CSV (comma, UTF-8) and CSV for Excel (semicolon + BOM, formula injection neutralized). - Store.QueryStream streams query results without buffering them. - Mobile: filter bar keeps two selects per row, count next to Export. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
43 lines
1.4 KiB
YAML
43 lines
1.4 KiB
YAML
services:
|
|
logstream:
|
|
build: .
|
|
container_name: logstream
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- victorialogs
|
|
ports:
|
|
- "${SYSLOG_PORT:-514}:5514/udp"
|
|
- "${SYSLOG_PORT:-514}:5514/tcp"
|
|
- "${HTTP_PORT:-8080}:8080"
|
|
environment:
|
|
VLOGS_URL: http://victorialogs:9428
|
|
TZ: ${TZ:-Europe/Paris}
|
|
AUTH_USER: ${AUTH_USER:-} # leave empty to disable authentication
|
|
AUTH_PASS: ${AUTH_PASS:-}
|
|
RDNS: ${RDNS:-on} # replace IP hosts with their DNS name (PTR)
|
|
DNS_SERVER: ${DNS_SERVER:-} # e.g. 192.168.1.1 to query your LAN DNS; empty = system resolver
|
|
ALLOW_PURGE: ${ALLOW_PURGE:-true}
|
|
EXPORT_MAX: ${EXPORT_MAX:-100000}
|
|
volumes:
|
|
- logstream-data:/data # tags.json
|
|
|
|
victorialogs:
|
|
# Pin a specific version in production (see hub.docker.com/r/victoriametrics/victoria-logs/tags)
|
|
image: victoriametrics/victoria-logs:latest
|
|
container_name: logstream-victorialogs
|
|
restart: unless-stopped
|
|
command:
|
|
- -storageDataPath=/vlogs
|
|
- -retentionPeriod=${RETENTION:-30d}
|
|
- -httpListenAddr=:9428
|
|
- -delete.enable # required by "Delete all logs" in Settings
|
|
volumes:
|
|
- vlogs-data:/vlogs
|
|
ports:
|
|
# VictoriaLogs debug UI (http://localhost:9428/select/vmui), localhost only
|
|
- "127.0.0.1:9428:9428"
|
|
|
|
volumes:
|
|
logstream-data:
|
|
vlogs-data:
|