Skip to content

Outdated Docker Compose stacks and missing shared networking #219

@sameh-farouk

Description

@sameh-farouk

Problem

The two Docker Compose files (docker-compose.yml for the processor stack and indexer/docker-compose.yml for the indexer stack) have two issues:

1. Outdated service versions

Service Current Latest stable Notes
PostgreSQL 16 17 PG 17 includes performance improvements, better JSON handling, and security fixes
CockroachDB v22.2.2 v22.2.15 v22.2.2 has known stability issues. v22.2.15 includes crash fixes, memory leak patches, and query optimizer improvements across 13 patch releases
substrate-gateway 2.5.0 2.7.0 Newer gateway versions include retriable error handling (521-523), retry-after header support, and connection leak fixes

2. No shared Docker network

The indexer and processor stacks run on separate Docker networks by default. The processor cannot reach the indexer gateway by service name. This forces workarounds:

  • Using the Docker bridge gateway IP (http://172.x.x.1:8888/graphql) which varies per host
  • Or publishing the gateway port and connecting via localhost:8888 which doesn't work from inside a container

Both workarounds are fragile and have caused deployment issues (see debug report from devnet deployment).

Additionally, both stacks have a service named db (PostgreSQL and CockroachDB). When connected to the same network (e.g., via docker network connect), Docker DNS resolves db to multiple IPs, causing services to connect to the wrong database.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions