crawler log lines:
Error: Disallowed navigation target "https://felhom.eu/": Refusing to access disallowed resolved address 192.168.0.192 for host felhom.eu
    at async crawlPage (file:///app/apps/workers/dist/index.js:86973:9)
    at async crawlAndParseUrl (file:///app/apps/workers/dist/index.js:87187:9)
    at async runCrawler (file:///app/apps/workers/dist/index.js:87662:25)
2026-10-01T15:09:23.413Z [32minfo[39m: [Crawler][3:5] Will crawl "https://felhom.eu/" for link with id "fqpgcryjgh6w29ovckiavc8j"
2026-10-01T15:09:23.413Z [32minfo[39m: [Crawler][3:5] Attempting to determine the content-type for the url https://felhom.eu/
2026-10-01T15:09:23.414Z [31merror[39m: [Crawler][3:5] Failed to determine the content-type for the url https://felhom.eu/: Error: Refusing to access disallowed resolved address 192.168.0.192 for host felhom.eu
2026-10-01T15:09:23.858Z [31merror[39m: [Crawler][3] Crawling job failed: Error: Disallowed navigation target "https://felhom.eu/": Refusing to access disallowed resolved address 192.168.0.192 for host felhom.eu
Error: Disallowed navigation target "https://felhom.eu/": Refusing to access disallowed resolved address 192.168.0.192 for host felhom.eu
    at async crawlPage (file:///app/apps/workers/dist/index.js:86973:9)
    at async crawlAndParseUrl (file:///app/apps/workers/dist/index.js:87187:9)
    at async runCrawler (file:///app/apps/workers/dist/index.js:87662:25)

stack keys: ['app_config', 'catalog_images', 'catalog_tested_at', 'compose_path', 'containers', 'deployed', 'deploying', 'health_probe', 'last_updated', 'meta', 'name', 'orphaned', 'protected', 'restarting_since', 'state', 'template_images', 'updating']
health-ish fields: {'state': 'unhealthy', 'health_probe': {'healthy': True, 'last_check': '2026-10-01T15:13:38.350879685Z', 'details': [{'type': 'none', 'target': 'karakeep', 'healthy': True, 'latency': '', 'error': 'Nem futott egészségellenőrzés: nincs hozzá tartozó konténer.', 'message_key': 'health.no_probe_container'}]}}
+10s {'state': 'running', 'health_probe': {'healthy': True, 'last_check': '2026-10-01T15:13:38.350879685Z', 'details': [{'type': 'none', 'target': 'karakeep', 'healthy': True, 'latency': '', 'error': 'Nem futott egészségellenőrzés: nincs hozzá tartozó konténer.', 'message_key': 'health.no_probe_container'}]}}
+20s {'state': 'running', 'health_probe': {'healthy': True, 'last_check': '2026-10-01T15:13:38.350879685Z', 'details': [{'type': 'none', 'target': 'karakeep', 'healthy': True, 'latency': '', 'error': 'Nem futott egészségellenőrzés: nincs hozzá tartozó konténer.', 'message_key': 'health.no_probe_container'}]}}
+30s {'state': 'running', 'health_probe': {'healthy': True, 'last_check': '2026-10-01T15:13:38.350879685Z', 'details': [{'type': 'none', 'target': 'karakeep', 'healthy': True, 'latency': '', 'error': 'Nem futott egészségellenőrzés: nincs hozzá tartozó konténer.', 'message_key': 'health.no_probe_container'}]}}
+40s {'state': 'running', 'health_probe': {'healthy': True, 'last_check': '2026-10-01T15:13:38.350879685Z', 'details': [{'type': 'none', 'target': 'karakeep', 'healthy': True, 'latency': '', 'error': 'Nem futott egészségellenőrzés: nincs hozzá tartozó konténer.', 'message_key': 'health.no_probe_container'}]}}
+50s {'state': 'running', 'health_probe': {'healthy': True, 'last_check': '2026-10-01T15:13:38.350879685Z', 'details': [{'type': 'none', 'target': 'karakeep', 'healthy': True, 'latency': '', 'error': 'Nem futott egészségellenőrzés: nincs hozzá tartozó konténer.', 'message_key': 'health.no_probe_container'}]}}
+60s {'state': 'running', 'health_probe': {'healthy': True, 'last_check': '2026-10-01T15:13:38.350879685Z', 'details': [{'type': 'none', 'target': 'karakeep', 'healthy': True, 'latency': '', 'error': 'Nem futott egészségellenőrzés: nincs hozzá tartozó konténer.', 'message_key': 'health.no_probe_container'}]}}
+70s {'state': 'running', 'health_probe': {'healthy': True, 'last_check': '2026-10-01T15:13:38.350879685Z', 'details': [{'type': 'none', 'target': 'karakeep', 'healthy': True, 'latency': '', 'error': 'Nem futott egészségellenőrzés: nincs hozzá tartozó konténer.', 'message_key': 'health.no_probe_container'}]}}
+80s {'state': 'running', 'health_probe': {'healthy': True, 'last_check': '2026-10-01T15:13:38.350879685Z', 'details': [{'type': 'none', 'target': 'karakeep', 'healthy': True, 'latency': '', 'error': 'Nem futott egészségellenőrzés: nincs hozzá tartozó konténer.', 'message_key': 'health.no_probe_container'}]}}
+90s {'state': 'running', 'health_probe': {'healthy': True, 'last_check': '2026-10-01T15:13:38.350879685Z', 'details': [{'type': 'none', 'target': 'karakeep', 'healthy': True, 'latency': '', 'error': 'Nem futott egészségellenőrzés: nincs hozzá tartozó konténer.', 'message_key': 'health.no_probe_container'}]}}
+100s {'state': 'running', 'health_probe': {'healthy': True, 'last_check': '2026-10-01T15:13:38.350879685Z', 'details': [{'type': 'none', 'target': 'karakeep', 'healthy': True, 'latency': '', 'error': 'Nem futott egészségellenőrzés: nincs hozzá tartozó konténer.', 'message_key': 'health.no_probe_container'}]}}
+110s {'state': 'running', 'health_probe': {'healthy': True, 'last_check': '2026-10-01T15:13:38.350879685Z', 'details': [{'type': 'none', 'target': 'karakeep', 'healthy': True, 'latency': '', 'error': 'Nem futott egészségellenőrzés: nincs hozzá tartozó konténer.', 'message_key': 'health.no_probe_container'}]}}
+120s {'state': 'running', 'health_probe': {'healthy': True, 'last_check': '2026-10-01T15:13:38.350879685Z', 'details': [{'type': 'none', 'target': 'karakeep', 'healthy': True, 'latency': '', 'error': 'Nem futott egészségellenőrzés: nincs hozzá tartozó konténer.', 'message_key': 'health.no_probe_container'}]}}
after unpause +30s {'state': 'unhealthy', 'health_probe': {'healthy': True, 'last_check': '2026-10-01T15:13:38.350879685Z', 'details': [{'type': 'none', 'target': 'karakeep', 'healthy': True, 'latency': '', 'error': 'Nem futott egészségellenőrzés: nincs hozzá tartozó konténer.', 'message_key': 'health.no_probe_container'}]}}
2026/10/01 15:15:48 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/karakeep/docker-compose.yml
2026/10/01 15:15:48 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/karakeep/docker-compose.yml
2026/10/01 15:15:48 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/karakeep/docker-compose.yml
2026/10/01 15:15:48 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/karakeep/docker-compose.yml
2026/10/01 15:15:48 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/karakeep/docker-compose.yml
2026/10/01 15:15:48 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/karakeep/docker-compose.yml
2026/10/01 15:15:48 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/karakeep/docker-compose.yml
2026/10/01 15:15:48 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/karakeep/docker-compose.yml

== crawl of a public page https://example.com/: POST 201
  crawled: {'title': 'Example Domain', 'screenshotAssetId': '5a8e32a5-5f1c-44c2-86cb-01517fb048ab', 'htmlContent': None, 'crawledAt': '2026-10-01T15:17:32.000Z'} | assets: 2
== 4.4 negative control (clean): docker STOP the app container, the sidecars keep running
  before: running
  states while stopped (s, state, probe healthy): [(5, 'running', True), (10, 'degraded', True)]
  front door while stopped: 404
  running again 15 s after docker start
  after: running [{'type': 'none', 'target': 'karakeep', 'healthy': True, 'latency': '', 'error': 'Nem futott egészségellenőrzés: nincs hozzá tartozó konténer.', 'message_key': 'health.no_probe_container'}]
+0s karakeep 2026-10-01T15:18:38.377927304Z [('none', 'karakeep', True, 'health.no_probe_container')]
+0s paperless-ngx 2026-10-01T15:17:08.351107642Z [('http', ':8000/', True, None)]
+60s karakeep 2026-10-01T15:18:38.377927304Z [('none', 'karakeep', True, 'health.no_probe_container')]
+60s paperless-ngx 2026-10-01T15:17:08.351107642Z [('http', ':8000/', True, None)]
+120s karakeep 2026-10-01T15:18:38.377927304Z [('none', 'karakeep', True, 'health.no_probe_container')]
+120s paperless-ngx 2026-10-01T15:17:08.351107642Z [('http', ':8000/', True, None)]
+180s karakeep 2026-10-01T15:18:38.377927304Z [('none', 'karakeep', True, 'health.no_probe_container')]
+180s paperless-ngx 2026-10-01T15:22:18.384162965Z [('http', ':8000/', True, None)]
2026/10/01 15:21:58 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping karakeep — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/10/01 15:22:08 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping karakeep — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/10/01 15:22:18 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping karakeep — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/10/01 15:22:28 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping karakeep — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/10/01 15:22:38 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping karakeep — last check 4m0s ago, effective interval 5m0s, healthy=true

