Docker
Run indexd and PostgreSQL together using Docker Compose
Pre-requisites
Create the compose file
services:
postgres:
image: postgres:18
restart: unless-stopped
shm_size: 128mb
environment:
POSTGRES_USER: indexd
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: indexd
volumes:
- postgres:/var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 5s
retries: 10
start_period: 10s
indexd:
depends_on:
postgres:
condition: service_healthy
image: ghcr.io/siafoundation/indexd:latest
restart: unless-stopped
ports:
- 127.0.0.1:9980:9980/tcp # admin UI and API (kept local)
- 9981:9981/tcp # public syncer
- 9982:9982/tcp # public application API
volumes:
- indexd-data:/data
volumes:
indexd-data:
postgres:Set the database password
Getting the indexd image
indexd image
Generate a recovery phrase
Configuring indexd
indexdSetting
Value

Running indexd
indexd

Fund your wallet
Checking the container status
Checking the logs
Upgrading indexd
indexdLast updated
Was this helpful?