-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathdocker-compose-indexer.yaml
More file actions
114 lines (107 loc) · 4.42 KB
/
docker-compose-indexer.yaml
File metadata and controls
114 lines (107 loc) · 4.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
services:
yaci-indexer:
image: cardanofoundation/cardano-rosetta-java-indexer:${RELEASE_VERSION}
build:
context: ./
dockerfile: ./yaci-indexer/Dockerfile
environment:
NETWORK: ${NETWORK}
YACI_SPRING_PROFILES: ${YACI_SPRING_PROFILES}
DB_HOST: ${DB_HOST}
DB_PORT: ${DB_PORT}
DB_NAME: ${DB_NAME}
DB_USER: ${DB_USER}
DB_SECRET: ${DB_SECRET}
DB_SCHEMA: ${DB_SCHEMA}
CARDANO_NODE_HOST: ${CARDANO_NODE_HOST}
CARDANO_NODE_PORT: ${CARDANO_NODE_PORT}
PROTOCOL_MAGIC: ${PROTOCOL_MAGIC}
GENESIS_SHELLEY_PATH: ${GENESIS_SHELLEY_PATH}
GENESIS_BYRON_PATH: ${GENESIS_BYRON_PATH}
GENESIS_ALONZO_PATH: ${GENESIS_ALONZO_PATH}
GENESIS_CONWAY_PATH: ${GENESIS_CONWAY_PATH}
REMOVE_SPENT_UTXOS: ${REMOVE_SPENT_UTXOS}
REMOVE_SPENT_UTXOS_LAST_BLOCKS_GRACE_COUNT: ${REMOVE_SPENT_UTXOS_LAST_BLOCKS_GRACE_COUNT}
REMOVE_SPENT_UTXOS_BATCH_SIZE: ${REMOVE_SPENT_UTXOS_BATCH_SIZE}
BLOCK_TRANSACTION_API_TIMEOUT_SECS: ${BLOCK_TRANSACTION_API_TIMEOUT_SECS}
CARDANO_NODE_SOCKET_PATH: ${CARDANO_NODE_SOCKET_PATH}
HOST_N2C_SOCAT_HOST: ${HOST_N2C_SOCAT_HOST}
HOST_N2C_SOCAT_PORT: ${HOST_N2C_SOCAT_PORT}
SEARCH_LIMIT: ${SEARCH_LIMIT}
CONTINUE_PARSING_ON_ERROR: ${CONTINUE_PARSING_ON_ERROR}
PEER_DISCOVERY: ${PEER_DISCOVERY}
LOG: ${LOG}
# DB performance tuning
INDEXER_DB_POOL_MIN_COUNT: ${INDEXER_DB_POOL_MIN_COUNT}
INDEXER_DB_POOL_MAX_COUNT: ${INDEXER_DB_POOL_MAX_COUNT}
INDEXER_DB_POOL_MAX_LIFETIME_MS: ${INDEXER_DB_POOL_MAX_LIFETIME_MS}
INDEXER_DB_POOL_CONNECTION_TIMEOUT_MS: ${INDEXER_DB_POOL_CONNECTION_TIMEOUT_MS}
INDEXER_DB_KEEP_ALIVE_MS: ${INDEXER_DB_KEEP_ALIVE_MS}
INDEXER_DB_LEAK_CONNECTIONS_WARNING_MS: ${INDEXER_DB_LEAK_CONNECTIONS_WARNING_MS}
INDEXER_DB_MONITOR_PERFORMANCE: ${INDEXER_DB_MONITOR_PERFORMANCE}
# DB tuning debugging
INDEXER_DB_SHOW_SQL: ${INDEXER_DB_SHOW_SQL}
volumes:
- ${CARDANO_CONFIG}:/config
- ${CARDANO_NODE_DIR}:${CARDANO_NODE_DIR}
ports:
- ${YACI_INDEXER_PORT}:9095
restart: always
healthcheck:
test: [ "CMD-SHELL", "curl -sf http://localhost:9095/actuator/health/startup || exit 1" ]
interval: 10s
retries: 360
start_period: 30s
timeout: 5s
depends_on:
db:
condition: service_healthy
cardano-sync-waiter:
condition: service_completed_successfully
db:
image: cardanofoundation/cardano-rosetta-java-postgres:${PG_VERSION_TAG}
build:
context: ./
dockerfile: ./docker/dockerfiles/postgres/Dockerfile
shm_size: 4g
ports:
- ${DB_PORT}:${DB_PORT}
environment:
DB_SECRET: ${DB_SECRET}
DB_USER: ${DB_USER}
DB_NAME: ${DB_NAME}
DB_PORT: ${DB_PORT}
NETWORK: ${NETWORK}
PGPASSWORD: postgres
DB_POSTGRES_MAX_CONNECTIONS: ${DB_POSTGRES_MAX_CONNECTIONS}
DB_POSTGRES_SHARED_BUFFERS: ${DB_POSTGRES_SHARED_BUFFERS}
DB_POSTGRES_EFFECTIVE_CACHE_SIZE: ${DB_POSTGRES_EFFECTIVE_CACHE_SIZE}
DB_POSTGRES_WORK_MEM: ${DB_POSTGRES_WORK_MEM}
DB_POSTGRES_MAINTENANCE_WORK_MEM: ${DB_POSTGRES_MAINTENANCE_WORK_MEM}
DB_POSTGRES_WAL_BUFFERS: ${DB_POSTGRES_WAL_BUFFERS}
DB_POSTGRES_CHECKPOINT_COMPLETION_TARGET: ${DB_POSTGRES_CHECKPOINT_COMPLETION_TARGET}
DB_POSTGRES_RANDOM_PAGE_COST: ${DB_POSTGRES_RANDOM_PAGE_COST}
# Additional settings for advanced PostgreSQL tuning
DB_POSTGRES_EFFECTIVE_IO_CONCURRENCY: ${DB_POSTGRES_EFFECTIVE_IO_CONCURRENCY}
DB_POSTGRES_PARALLEL_TUPLE_COST: ${DB_POSTGRES_PARALLEL_TUPLE_COST}
DB_POSTGRES_PARALLEL_SETUP_COST: ${DB_POSTGRES_PARALLEL_SETUP_COST}
DB_POSTGRES_MAX_PARALLEL_WORKERS_PER_GATHER: ${DB_POSTGRES_MAX_PARALLEL_WORKERS_PER_GATHER}
DB_POSTGRES_MAX_PARALLEL_WORKERS: ${DB_POSTGRES_MAX_PARALLEL_WORKERS}
DB_POSTGRES_SEQ_PAGE_COST: ${DB_POSTGRES_SEQ_PAGE_COST}
DB_POSTGRES_JIT: ${DB_POSTGRES_JIT}
DB_POSTGRES_BGWRITER_LRU_MAXPAGES: ${DB_POSTGRES_BGWRITER_LRU_MAXPAGES}
DB_POSTGRES_BGWRITER_DELAY: ${DB_POSTGRES_BGWRITER_DELAY}
restart: on-failure
volumes:
- ${DB_PATH}:/var/lib/postgresql/data
healthcheck:
test: [ "CMD-SHELL", "PGPASSWORD=${DB_SECRET} pg_isready -U ${DB_USER} -d ${DB_NAME} -p ${DB_PORT} -h localhost"]
interval: 10s
timeout: 3s
retries: 10
depends_on: {}
volumes:
data:
networks:
default:
name: cardano-rosetta-java-${NETWORK}