-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtreasure.yml
63 lines (61 loc) · 2.97 KB
/
treasure.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
# Treasure is just different enough from Era that a separate yml makes sense
x-logging: &logging
logging:
driver: json-file
options:
max-size: 100m
max-file: "3"
tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}'
services:
era-node:
restart: "unless-stopped"
image: matterlabs/external-node:${NODE_DOCKER_TAG}
stop_grace_period: 5m
stop_signal: SIGINT
environment: # The node is configured entirely via ENV variables
- DATABASE_URL=postgres://postgres:postgres@${SQL_NODE}/eranode
- DATABASE_POOL_SIZE=10
- EN_STATE_CACHE_PATH=/db/state_keeper
- EN_MERKLE_TREE_PATH=/db/lightweight
- EN_ETH_CLIENT_URL=${L1_RPC}
- EN_MAIN_NODE_URL=${MAIN_NODE_URL}
- EN_L2_CHAIN_ID=${L2_CHAIN_ID}
- EN_L1_CHAIN_ID=${L1_CHAIN_ID}
- EN_HTTP_PORT=${RPC_PORT:-3060}
- EN_WS_PORT=${WS_PORT:-3061}
# Comment this out if not collecting metrics, to avoid memory leak
- EN_PROMETHEUS_PORT=${METRICS_PORT:-3322}
- EN_HEALTHCHECK_PORT=3081
- EN_L1_BATCH_COMMIT_DATA_GENERATOR_MODE=Validium
- EN_SNAPSHOTS_RECOVERY_ENABLED=false
- RUST_LOG=${RUST_LOG}
volumes:
- treasure-data:/db
- /etc/localtime:/etc/localtime:ro
<<: *logging
labels:
- traefik.enable=true
- traefik.http.routers.${RPC_HOST:-treasure}.service=${RPC_HOST:-treasure}
- traefik.http.routers.${RPC_HOST:-treasure}.entrypoints=websecure
- traefik.http.routers.${RPC_HOST:-treasure}.rule=Host(`${RPC_HOST:-treasure}.${DOMAIN}`)
- traefik.http.routers.${RPC_HOST:-treasure}.tls.certresolver=letsencrypt
- traefik.http.routers.${RPC_HOST:-treasure}lb.service=${RPC_HOST:-treasure}
- traefik.http.routers.${RPC_HOST:-treasure}lb.entrypoints=websecure
- traefik.http.routers.${RPC_HOST:-treasure}lb.rule=Host(`${RPC_LB:-treasure-lb}.${DOMAIN}`)
- traefik.http.routers.${RPC_HOST:-treasure}lb.tls.certresolver=letsencrypt
- traefik.http.services.${RPC_HOST:-treasure}.loadbalancer.server.port=${RPC_PORT:-3060}
- traefik.http.routers.${WS_HOST:-treasurews}.service=${WS_HOST:-treasurews}
- traefik.http.routers.${WS_HOST:-treasurews}.entrypoints=websecure
- traefik.http.routers.${WS_HOST:-treasurews}.rule=Host(`${WS_HOST:-treasurews}.${DOMAIN}`)
- traefik.http.routers.${WS_HOST:-treasurews}.tls.certresolver=letsencrypt
- traefik.http.routers.${WS_HOST:-treasurews}lb.service=${WS_HOST:-treasurews}
- traefik.http.routers.${WS_HOST:-treasurews}lb.entrypoints=websecure
- traefik.http.routers.${WS_HOST:-treasurews}lb.rule=Host(`${WS_LB:-treasurews-lb}.${DOMAIN}`)
- traefik.http.routers.${WS_HOST:-treasurews}lb.tls.certresolver=letsencrypt
- traefik.http.services.${WS_HOST:-treasurews}.loadbalancer.server.port=${WS_PORT:-3061}
- metrics.scrape=true
- metrics.path=/metrics
- metrics.port=${METRICS_PORT:-}
- metrics.network=treasure-l2-${L2_CHAIN_ID}-l1-${L1_CHAIN_ID}
volumes:
treasure-data: