Replies: 28 comments 10 replies
-
Yea this completely crashed my VPS multiple times, I haven't had a chance to try and debug but this is pretty bad I just removed the containers for now. |
Beta Was this translation helpful? Give feedback.
-
I had the same issue, so I just went back to 1.0.3. Really looking forward to HA Pangolin. |
Beta Was this translation helpful? Give feedback.
-
Same, and I was also running out of disk space somehow (admittedly on a tiny VPS with 10GB of disk space) |
Beta Was this translation helpful? Give feedback.
-
Yes. Same. My VPS became very unhappy until docker compose down finally did something. ![]() |
Beta Was this translation helpful? Give feedback.
-
Seeing the same here |
Beta Was this translation helpful? Give feedback.
-
Yes seeing this as well. |
Beta Was this translation helpful? Give feedback.
-
I had the same error and rolled mine back to 1.0.3 for now too. |
Beta Was this translation helpful? Give feedback.
-
yup, get OOM killed very fast. Gave it 2000mb |
Beta Was this translation helpful? Give feedback.
-
Updated to 1.0.5 and it also does the same memory issue. Might be best to watch for any updates in the change log for this issue so we know it's safe to update. |
Beta Was this translation helpful? Give feedback.
-
get the maxmind file from the repo https://github.com/hhftechnology/traefik-log-dashboard/tree/main/maxmind |
Beta Was this translation helpful? Give feedback.
-
![]() |
Beta Was this translation helpful? Give feedback.
-
Let me know if you if you still get high memory |
Beta Was this translation helpful? Give feedback.
-
@hhftechnology Thank you. It would be possible to have a more understandable README in QuickStart when integrating MaxMind because now it is divided into multiple parts that do different things. I wouldn't want the problem to arise from a wrong configuration we set up because I personally started from: docker compose down
docker compose build --no-cache
docker compose up -d going to supplement MaxMind's variables. 😊 |
Beta Was this translation helpful? Give feedback.
-
yes i would. but for future always cap your resources when you deploy a log viewer/analytic container. |
Beta Was this translation helpful? Give feedback.
-
maybe bundle the geo city db with the docker image? its not that big |
Beta Was this translation helpful? Give feedback.
-
@hhftechnology I text the new compose but it crashes. I think it goes in out-of-memory (OOM) killer. Can it be related to the fact that my access.logs is 1.3 GB? My compose: Details
services:
backend:
build: ./backend
container_name: ${BACKEND_CONTAINER_NAME:-traefik-dashboard-backend}
environment:
- NODE_ENV=production
- PORT=3001
- TRAEFIK_LOG_FILE=/logs/access.log
- USE_MAXMIND=true
- MAXMIND_DB_PATH=/maxmind/GeoLite2-City.mmdb
- MAXMIND_FALLBACK_ONLINE=true
volumes:
# Mount your Traefik log file or directory here
- ${TRAEFIK_LOG_PATH:-./logs}:/logs:ro
- ./traefik-log-dashboard/maxmind:/maxmind # Mount the Maxmind database directory
ports:
- "3001:3001"
restart: unless-stopped
# healthcheck:
# test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3001/health"]
# interval: 30s
# timeout: 10s
# retries: 3
deploy:
resources:
limits:
cpus: '0.5'
memory: 1500M
reservations:
cpus: '0.1'
memory: 64M
frontend:
build: ./frontend
container_name: ${FRONTEND_CONTAINER_NAME:-traefik-dashboard-frontend}
environment:
- BACKEND_SERVICE=${BACKEND_SERVICE_NAME:-backend}
- BACKEND_PORT=${BACKEND_PORT:-3001}
ports:
- "3000:80"
depends_on:
- backend
restart: unless-stopped
# healthcheck:
# test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost/"]
# interval: 30s
# timeout: 10s
# retries: 3
deploy:
resources:
limits:
cpus: '0.5'
memory: 1500M
reservations:
cpus: '0.1'
memory: 64M My ENV: Details
# Path to your Traefik log file or directory
# Can be a single path or comma-separated list of paths
# Examples:
# - Single file: /path/to/traefik.log
# - Single directory: /path/to/logs/
# - Multiple paths: /path/to/logs1/,/path/to/logs2/,/path/to/specific.log
TRAEFIK_LOG_PATH=/Volume1/pangolin/config/traefik/logs
# Backend API port (optional, default: 3001)
PORT=3001
# Frontend port (optional, default: 3000)
FRONTEND_PORT=3000
# Backend service name for Docker networking (optional, default: backend)
BACKEND_SERVICE_NAME=backend
# Container names (optional, with defaults)
BACKEND_CONTAINER_NAME=traefik-dashboard-backend
FRONTEND_CONTAINER_NAME=traefik-dashboard-frontend Logs: Details
traefik-dashboard-backend | [GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.
traefik-dashboard-backend |
traefik-dashboard-backend | [GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
traefik-dashboard-backend | - using env: export GIN_MODE=release
traefik-dashboard-backend | - using code: gin.SetMode(gin.ReleaseMode)
traefik-dashboard-backend |
traefik-dashboard-backend | [GIN-debug] GET /api/stats --> main.getStats (4 handlers)
traefik-dashboard-backend | [GIN-debug] GET /api/logs --> main.getLogs (4 handlers)
traefik-dashboard-backend | [GIN-debug] GET /api/services --> main.getServices (4 handlers)
traefik-dashboard-backend | [GIN-debug] GET /api/routers --> main.getRouters (4 handlers)
traefik-dashboard-backend | [GIN-debug] GET /api/geo-stats --> main.getGeoStats (4 handlers)
traefik-dashboard-backend | [GIN-debug] GET /api/geo-processing-status --> main.getGeoProcessingStatus (4 handlers)
traefik-dashboard-backend | [GIN-debug] POST /api/set-log-file --> main.setLogFile (4 handlers)
traefik-dashboard-backend | [GIN-debug] POST /api/set-log-files --> main.setLogFiles (4 handlers)
traefik-dashboard-backend | [GIN-debug] GET /api/maxmind/config --> main.getMaxMindConfig (4 handlers)
traefik-dashboard-backend | [GIN-debug] POST /api/maxmind/reload --> main.reloadMaxMindDatabase (4 handlers)
traefik-dashboard-backend | [GIN-debug] POST /api/maxmind/test --> main.testMaxMindDatabase (4 handlers)
traefik-dashboard-backend | [GIN-debug] GET /health --> main.healthCheck (4 handlers)
traefik-dashboard-backend | [GIN-debug] GET /ws --> main.handleWebSocket (4 handlers)
traefik-dashboard-backend | 2025/08/03 11:32:58 MaxMind database loaded successfully from: /maxmind/GeoLite2-City.mmdb
traefik-dashboard-backend | 2025/08/03 11:32:58 Server running on port 3001
traefik-dashboard-backend | 2025/08/03 11:32:58 Setting up monitoring for 1 log path(s)
traefik-dashboard-backend | 2025/08/03 11:32:58 Setting up tail for file: /logs/access.log
traefik-dashboard-backend | 2025/08/03 11:32:58 Loading historical logs...
traefik-dashboard-backend | 2025/08/03 11:32:58 MaxMind configuration: {Enabled:true DatabasePath:/maxmind/GeoLite2-City.mmdb FallbackToOnline:true DatabaseLoaded:true DatabaseError:}
traefik-dashboard-backend | [GIN-debug] [WARNING] You trusted all proxies, this is NOT safe. We recommend you to set a value.
traefik-dashboard-backend | Please check https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-proxies for details.
traefik-dashboard-backend | [GIN-debug] Listening and serving HTTP on :3001
traefik-dashboard-backend | 2025/08/03 11:32:58 Seeked /logs/access.log - &{Offset:0 Whence:2}
traefik-dashboard-backend exited with code 137 Update: log:
format: json
level: INFO
maxSize: 300 #Mb
maxBackups: 7
maxAge: 7
compress: true It works now. |
Beta Was this translation helpful? Give feedback.
-
dashboard-backend:
image: ghcr.io/hhftechnology/traefik-log-dashboard-backend:1.0.5@sha256:dee2ef4d2ffd074ca107d765db74336b11c38b99b62aecbb9c2d971b56e20f11
environment:
- PORT=3001
- TRAEFIK_LOG_FILE=/logs/access.log
- USE_MAXMIND=true
- MAXMIND_DB_PATH=/maxmind/GeoLite2-City.mmdb
- MAXMIND_FALLBACK_ONLINE=true
volumes:
- /mnt/ssd/docker/traefik/logs:/logs:ro
- ./dashboard/maxmind:/maxmind
networks:
- dashboard
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3001/health"]
interval: 30s
timeout: 10s
retries: 3
deploy:
resources:
limits:
cpus: '0.5'
memory: 256M
reservations:
cpus: '0.1'
memory: 64M
dashboard-frontend:
image: ghcr.io/hhftechnology/traefik-log-dashboard-frontend:1.0.5@sha256:b771be208f4c7b5c8271f2e6c8ce73539dd14d665e0cbb231934c6aeddd84e81
environment:
- BACKEND_SERVICE=dashboard-backend
- BACKEND_PORT=3001
ports:
- "3000:80"
networks:
- dashboard
depends_on:
- dashboard-backend
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost/"]
interval: 30s
timeout: 10s
retries: 3
deploy:
resources:
limits:
cpus: '0.5'
memory: 256M
reservations:
cpus: '0.1'
memory: 64M I've made these changes
Its still acting in the exact same way. Runs for a couple of seconds with very high CPU usage (if no limit) and then restarts |
Beta Was this translation helpful? Give feedback.
-
you have to set a limit on resources if logs are large |
Beta Was this translation helpful? Give feedback.
-
My log file is no larger than 1.6MB |
Beta Was this translation helpful? Give feedback.
-
Try increasing the ram in the compose. When a log file is loaded into memory and data is pulled it starts to take up more space. I personally set it to 1.5GB on my 4GB VPS. Backend only. |
Beta Was this translation helpful? Give feedback.
-
![]() |
Beta Was this translation helpful? Give feedback.
-
I will move this to help section in discussion |
Beta Was this translation helpful? Give feedback.
-
@hhftechnology can you share your traefik_config.yml configuration to better understand how to set the log parameters and logrotate. Thanks. 😶🌫️ |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
offtopic but @hhftechnology latest doesnt seem to have an ARM version exec ./main: exec format error |
Beta Was this translation helpful? Give feedback.
-
1.0.6 and adding the resource limits seems to have fixed it on my end as well |
Beta Was this translation helpful? Give feedback.
-
Testing now, will let you know. I do see in docker-compose-prod a mention of redis, what do I need to put on the backend to leverage it? |
Beta Was this translation helpful? Give feedback.
-
The new compose with the memory limits resolved the issue on my end. :) |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
This is kind of strange and I haven't dug super deep into it but here goes.
It seems like the new (1.0.4) backend eats about 5GB of ram a second until it crashes, only to restart and do the same again over and over again. My log file is about 1MB. I have ~20GB free on the system and it takes about 4-5 seconds from container start to container exit (137). I'm not entirely sure what could be causing this, here is my compose file:
It works somewhat, and I'm able to browse some stats (the map never loads), but I can see the web socket connecting and disconnecting in the corner.
Beta Was this translation helpful? Give feedback.
All reactions