Skip to content

[BUG] "PostgreSQL query failed: host resolves to a blocked IP address" #4319

@xBounceIT

Description

@xBounceIT

Describe the bug
Im trying to connect an AI agent to a local postgres DB but keep getting stuck on this error

To Reproduce
Create a block for PostgreSQL and use a local container name in the same docker network

Expected behavior
Connection OK

Screenshots

Image

Additional context
Docker stack im using via Swarm:

services:
  simstudio:
    image: ghcr.io/simstudioai/simstudio:${VERSION}
    restart: unless-stopped
    ports:
      - '3010:3000'
    deploy:
      resources:
        limits:
          memory: 8G
      placement:
        constraints:
          - node.labels.env != db
          - node.labels.env != dmz
    environment:
      - NODE_ENV=production
      - DATABASE_URL=postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@db:5432/${POSTGRES_DB:-simstudio}
      - BETTER_AUTH_URL=${NEXT_PUBLIC_APP_URL:-http://10.10.144.81:3010}
      - NEXT_PUBLIC_APP_URL=${NEXT_PUBLIC_APP_URL:-http://10.10.144.81:3010}
      - BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET}
      - ENCRYPTION_KEY=${ENCRYPTION_KEY}
      - API_ENCRYPTION_KEY=${API_ENCRYPTION_KEY:-}
      - INTERNAL_API_SECRET=${INTERNAL_API_SECRET}
      - REDIS_URL=redis://redis:6379/0
#      - COPILOT_API_KEY=${COPILOT_API_KEY}
#      - SIM_AGENT_API_URL=${SIM_AGENT_API_URL}
      - SOCKET_SERVER_URL=${SOCKET_SERVER_URL:-http://realtime:3002}
      - NEXT_PUBLIC_SOCKET_URL=${NEXT_PUBLIC_SOCKET_URL:-http://10.10.144.81:3002}
      - ADMISSION_GATE_MAX_INFLIGHT=${ADMISSION_GATE_MAX_INFLIGHT:-500}
    depends_on:
      - db
      - migrations
      - realtime
    healthcheck:
      test: ['CMD', 'curl', '-fsS', 'http://127.0.0.1:3000']
      interval: 90s
      timeout: 5s
      retries: 3
      start_period: 10s
    networks:
      - ssoc-soar-v2
      
  realtime:
    image: ghcr.io/simstudioai/realtime:${VERSION}
    restart: unless-stopped
    ports:
      - '3002:3002'
    deploy:
      resources:
        limits:
          memory: 1G
      placement:
        constraints:
        - node.labels.env != db
        - node.labels.env != dmz
    environment:
      - NODE_ENV=production
      - DATABASE_URL=postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@db:5432/${POSTGRES_DB:-simstudio}
      - NEXT_PUBLIC_APP_URL=${NEXT_PUBLIC_APP_URL:-http://10.10.144.81:3010}
      - BETTER_AUTH_URL=${BETTER_AUTH_URL:-http://10.10.144.81:3010}
      - BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET}
      - INTERNAL_API_SECRET=${INTERNAL_API_SECRET}
      - REDIS_URL=redis://redis:6379/0
    depends_on:
      - db
    healthcheck:
      test: ['CMD', 'curl', '-fsS', 'http://127.0.0.1:3002/health']
      interval: 90s
      timeout: 5s
      retries: 3
      start_period: 10s
    networks:
      - ssoc-soar-v2
      
  migrations:
    image: ghcr.io/simstudioai/migrations:${VERSION}
    deploy:
      placement:
        constraints:
          - node.labels.env != db
          - node.labels.env != dmz
      restart_policy:
        condition: none
    working_dir: /app/packages/db
    environment:
      - DATABASE_URL=postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@db:5432/${POSTGRES_DB:-simstudio}
    depends_on:
      - db
    command: ['bun', 'run', 'db:migrate']
    networks:
      - ssoc-soar-v2
      
  db:
    image: pgvector/pgvector:pg17
    restart: unless-stopped
    deploy:
      placement:
        constraints:
          - node.labels.env != db
          - node.labels.env != dmz
    environment:
      - POSTGRES_USER=${POSTGRES_USER:-postgres}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-postgres}
      - POSTGRES_DB=${POSTGRES_DB:-simstudio}
      - POSTGRES_HOST_AUTH_METHOD=scram-sha-256
      - POSTGRES_INITDB_ARGS=--auth-host=scram-sha-256
    volumes:
      - /mnt/nfs_share/ssoc/sim/postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ['CMD-SHELL', 'pg_isready -U postgres']
      interval: 30s
      timeout: 60s
      retries: 5
    networks:
      - ssoc-soar-v2
      
  postgres-alerts:
    hostname: soar-db-alerts
    image: postgres:18
    deploy:
      mode: replicated
      replicas: 1
      restart_policy:
        condition: on-failure
        delay: 15s
        max_attempts: 3
      placement:
        constraints:
          - node.labels.env == db
    environment:
    - POSTGRES_DB=alerts
    - POSTGRES_NON_ROOT_USER=n8n
    - POSTGRES_NON_ROOT_PASSWORD=REDACTED
    - POSTGRES_PASSWORD=REDACTED
    - POSTGRES_USER=root
    - TZ=Europe/Rome
    volumes:
      - /mnt/iscsi-n8n-dbalerts:/var/lib/postgresql/
    healthcheck:
      test: ['CMD-SHELL', 'pg_isready -h localhost -U root -d alerts']
      interval: 15s
      timeout: 5s
      retries: 10
    networks:
      - ssoc-soar-v2

  redis:
    hostname: soar-redis
    image: redis:7-alpine
    deploy:
      mode: replicated
      replicas: 1
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
      placement:
        constraints:
          - node.labels.env != db
          - node.labels.env != dmz
    volumes:
      - /mnt/nfs_share/ssoc/n8n/redis_storage:/data
    healthcheck:
      test: ['CMD', 'redis-cli', 'ping']
      interval: 5s
      timeout: 5s
      retries: 10
    networks:
      - ssoc-soar-v2

  qdrant:
    image: qdrant/qdrant:${QDRANT_VERSION}
    hostname: qdrant
    deploy:
      mode: replicated
      replicas: 1
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
      placement:
        constraints:
          - node.labels.env == db
    volumes:
      - "/mnt/iscsi-qdrant:/qdrant/storage:z"
    networks:
      - ssoc-soar-v2
      - waf

networks:
  ssoc-soar-v2:
    external: false
    name: "ssoc-soar-v2"
  waf:
    external: true
    name: waf-cld_waf

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions