-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
77 lines (74 loc) · 2.52 KB
/
docker-compose.yml
File metadata and controls
77 lines (74 loc) · 2.52 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
services:
postgres:
image: postgres:16-alpine
ports:
- "5432:5432"
environment:
POSTGRES_DB: atlas
POSTGRES_USER: ${POSTGRES_USER:-atlas}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-atlas}
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-atlas} -d ${POSTGRES_DB:-atlas}"]
interval: 5s
timeout: 5s
retries: 5
atlas-server:
# Contract verification downloads Solidity's official linux-amd64 binary.
# Keep atlas-server on amd64 locally so verification works on Apple Silicon.
platform: linux/amd64
build:
context: ./backend
dockerfile: Dockerfile
target: server
environment:
DATABASE_URL: postgres://${POSTGRES_USER:-atlas}:${POSTGRES_PASSWORD:-atlas}@postgres/${POSTGRES_DB:-atlas}
RPC_URL: ${RPC_URL}
START_BLOCK: ${START_BLOCK:-0}
BATCH_SIZE: ${BATCH_SIZE:-100}
REINDEX: ${REINDEX:-false}
IPFS_GATEWAY: ${IPFS_GATEWAY:-https://ipfs.io/ipfs/}
FETCH_WORKERS: ${FETCH_WORKERS:-10}
RPC_REQUESTS_PER_SECOND: ${RPC_REQUESTS_PER_SECOND:-100}
RPC_BATCH_SIZE: ${RPC_BATCH_SIZE:-20}
ENABLE_DA_TRACKING: ${ENABLE_DA_TRACKING:-false}
EVNODE_URL: ${EVNODE_URL:-}
DA_RPC_REQUESTS_PER_SECOND: ${DA_RPC_REQUESTS_PER_SECOND:-50}
DA_WORKER_CONCURRENCY: ${DA_WORKER_CONCURRENCY:-50}
FAUCET_ENABLED: ${FAUCET_ENABLED:-false}
CHAIN_NAME: ${CHAIN_NAME:-Unknown}
CHAIN_LOGO_URL: ${CHAIN_LOGO_URL:-}
ACCENT_COLOR: ${ACCENT_COLOR:-}
BACKGROUND_COLOR_DARK: ${BACKGROUND_COLOR_DARK:-}
BACKGROUND_COLOR_LIGHT: ${BACKGROUND_COLOR_LIGHT:-}
SUCCESS_COLOR: ${SUCCESS_COLOR:-}
ERROR_COLOR: ${ERROR_COLOR:-}
SNAPSHOT_ENABLED: ${SNAPSHOT_ENABLED:-false}
SNAPSHOT_TIME: ${SNAPSHOT_TIME:-03:00}
SNAPSHOT_RETENTION: ${SNAPSHOT_RETENTION:-7}
SNAPSHOT_DIR: ${SNAPSHOT_DIR:-/snapshots}
API_HOST: 0.0.0.0
API_PORT: 3000
RUST_LOG: atlas_server=info,tower_http=info
user: "${UID:-1000}:${GID:-1000}"
volumes:
- ${SNAPSHOT_HOST_DIR:-./snapshots}:${SNAPSHOT_DIR:-/snapshots}
depends_on:
postgres:
condition: service_healthy
restart: unless-stopped
atlas-frontend:
build:
context: ./frontend
dockerfile: Dockerfile
ports:
- "80:8080"
volumes:
- ${BRANDING_DIR:-./branding}:/usr/share/nginx/html/branding:ro
depends_on:
- atlas-server
restart: unless-stopped
volumes:
pgdata:
name: atlas_pgdata