-
Notifications
You must be signed in to change notification settings - Fork 91
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
106 lines (99 loc) · 3.8 KB
/
docker-compose.yml
File metadata and controls
106 lines (99 loc) · 3.8 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
services:
redis:
image: redis/redis-stack:7.2.0-v10
ports:
- ${REDIS_PORT-6379}:${REDIS_PORT-6379}
- 8001:8001
db:
image: postgres:14.8-alpine
volumes:
- ./data/db:/var/lib/postgresql/data
environment:
POSTGRES_DB: ${POSTGRES_DB:-safe-client-gateway}
POSTGRES_USER: ${POSTGRES_USER:-postgres}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
ports:
- '${POSTGRES_PORT:-5432}:5432'
db-test:
image: postgres:14.8-alpine
environment:
POSTGRES_DB: ${POSTGRES_TEST_DB:-test-db}
POSTGRES_USER: ${POSTGRES_TEST_USER:-postgres}
POSTGRES_PASSWORD: ${POSTGRES_TEST_PASSWORD:-postgres}
ports:
- '${POSTGRES_TEST_PORT:-5433}:5432'
volumes:
- ./db_config/test/server.crt:/var/lib/postgresql/server.crt:ro
- ./db_config/test/server.key:/var/lib/postgresql/server.key:ro
- ./db_config/test/pg_hba.conf:/etc/pg_hba.conf
command: >
-c ssl=on
-c ssl_cert_file=/var/lib/postgresql/server.crt
-c ssl_key_file=/var/lib/postgresql/server.key
-c hba_file=/etc/pg_hba.conf
rabbitmq:
image: rabbitmq:management-alpine
ports:
- '5672:5672'
- '15672:15672'
healthcheck:
test: rabbitmq-diagnostics -q ping
interval: 15s
timeout: 30s
retries: 3
start_period: 15s
web:
build: .
tty: true
environment:
REDIS_HOST: redis
PRICES_PROVIDER_API_KEY: ${PRICES_PROVIDER_API_KEY-example_api_key}
APPLICATION_PORT: ${APPLICATION_PORT-3000}
AUTH_TOKEN: ${AUTH_TOKEN-example_auth_token}
BLOCKLIST_ENCRYPTED_DATA: ${BLOCKLIST_ENCRYPTED_DATA-fake-encrypted-data}
BLOCKLIST_SECRET_KEY: ${BLOCKLIST_SECRET_KEY-fake-secret-key}
BLOCKLIST_SECRET_SALT: ${BLOCKLIST_SECRET_SALT-fake-secret-salt}
EMAIL_API_APPLICATION_CODE: ${EMAIL_API_APPLICATION_CODE-example_application_code}
EMAIL_API_FROM_EMAIL: ${EMAIL_API_FROM_EMAIL-changeme@example.com}
EMAIL_API_KEY: ${EMAIL_API_KEY-example_api_key}
INFURA_API_KEY: ${INFURA_API_KEY-example_api_key}
JWT_ISSUER: ${JWT_ISSUER-example_issuer}
JWT_TOKEN: ${JWT_TOKEN-example_token}
RELAY_PROVIDER_API_KEY_OPTIMISM: ${RELAY_PROVIDER_API_KEY_OPTIMISM-example_api_key}
RELAY_PROVIDER_API_KEY_BSC: ${RELAY_PROVIDER_API_KEY_BSC-example_api_key}
RELAY_PROVIDER_API_KEY_GNOSIS_CHAIN: ${RELAY_PROVIDER_API_KEY_GNOSIS_CHAIN-example_api_key}
RELAY_PROVIDER_API_KEY_POLYGON: ${RELAY_PROVIDER_API_KEY_POLYGON-example_api_key}
RELAY_PROVIDER_API_KEY_POLYGON_ZKEVM: ${RELAY_PROVIDER_API_KEY_POLYGON_ZKEVM-example_api_key}
RELAY_PROVIDER_API_KEY_BASE: ${RELAY_PROVIDER_API_KEY_BASE-example_api_key}
RELAY_PROVIDER_API_KEY_ARBITRUM_ONE: ${RELAY_PROVIDER_API_KEY_ARBITRUM_ONE-example_api_key}
RELAY_PROVIDER_API_KEY_AVALANCHE: ${RELAY_PROVIDER_API_KEY_AVALANCHE-example_api_key}
RELAY_PROVIDER_API_KEY_LINEA: ${RELAY_PROVIDER_API_KEY_LINEA-example_api_key}
RELAY_PROVIDER_API_KEY_BLAST: ${RELAY_PROVIDER_API_KEY_BLAST-example_api_key}
RELAY_PROVIDER_API_KEY_UNICHAIN: ${RELAY_PROVIDER_API_KEY_UNICHAIN-example_api_key}
RELAY_PROVIDER_API_KEY_SEPOLIA: ${RELAY_PROVIDER_API_KEY_SEPOLIA-example_api_key}
depends_on:
- redis
- db
pgadmin:
image: dpage/pgadmin4
restart: always
ports:
- '8888:80'
environment:
PGADMIN_DEFAULT_EMAIL: ${POSTGRES_ADMIN_USER:-admin@test.dev}
PGADMIN_DEFAULT_PASSWORD: ${POSTGRES_ADMIN_PASS:-admin}
volumes:
- pgadmin-data:/var/lib/pgadmin
nginx:
image: nginx:1.25-alpine
ports:
- ${NGINX_HOST_PORT:-8080}:80
volumes:
- ./nginx/templates:/etc/nginx/templates
environment:
NGINX_ENVSUBST_OUTPUT_DIR: /etc/nginx/
APPLICATION_PORT: ${APPLICATION_PORT-3000}
depends_on:
- web
volumes:
pgadmin-data: