-
Notifications
You must be signed in to change notification settings - Fork 2
/
docker-compose.yml
75 lines (64 loc) · 1.46 KB
/
docker-compose.yml
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
version: "3.7"
x-env: &env
NAME: "contracts"
NETWORK_NAME: "mainnet"
# Ports
PORT: "8000"
# HEALTH_PORT: "8000"
METRICS_PORT: "9400"
# Prefix
REST_PREFIX: "/api/v1"
HEALTH_PREFIX: "/health"
METRICS_PREFIX: "/metrics"
CORS_ALLOW_ORIGINS: "*"
# Monitoring
HEALTH_POLLING_INTERVAL: "60"
# Logging
LOG_LEVEL: "INFO"
LOG_TO_FILE: "false"
LOG_FILE_NAME: "contracts.log"
LOG_FORMAT: "string"
# Kafka
KAFKA_BROKER_URL: "kafka:9092"
CONSUMER_GROUP: "contracts-consumer-group"
CONSUMER_TOPIC_BLOCKS: "blocks"
# DB
POSTGRES_USER: "postgres"
POSTGRES_PASSWORD: "changeme"
POSTGRES_SERVER: "postgres"
POSTGRES_PORT: "5432"
POSTGRES_DATABASE: "postgres"
# Endpoints
MAX_PAGE_SIZE: "100"
# Application features
ENABLE_CONTRACT_VERIFICATION: "false"
# CONTRACTS_S3_AWS_ACCESS_KEY_ID:
# CONTRACTS_S3_AWS_SECRET_ACCESS_KEY:
# CONTRACTS_S3_BUCKET:
services:
contracts-api:
image: sudoblock/icon-contracts-api:latest
ports:
- "8000:8000"
expose:
- "9400"
- "8180"
security_opt:
- "seccomp:unconfined"
cap_add:
- SYS_PTRACE
volumes:
- ${CONTRACTS_CONTEXT:-.}/icon_contracts:/app
environment:
<<: *env
contracts-worker:
image: sudoblock/icon-contracts-worker:latest
ports:
- "8181:8181" # Health
- "9401:9401" # Prometheus
security_opt:
- "seccomp:unconfined"
cap_add:
- SYS_PTRACE
environment:
<<: *env