Repository navigation
Expand file tree
/
Copy pathdocker-compose.prod.yml
More file actions
57 lines (54 loc) · 1.63 KB
/
Copy pathdocker-compose.prod.yml
File metadata and controls
57 lines (54 loc) · 1.63 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
services:
db:
image: postgres:16-alpine
restart: unless-stopped
env_file:
- path: .env.prod
required: false
environment:
POSTGRES_USER: ${POSTGRES_USER:-pawnable}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?POSTGRES_PASSWORD is required}
POSTGRES_DB: ${POSTGRES_DB:-pawnable}
ports:
- "127.0.0.1:5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U \"$${POSTGRES_USER}\" -d \"$${POSTGRES_DB}\""]
interval: 5s
timeout: 3s
retries: 20
backend:
image: ${BACKEND_IMAGE:-ghcr.io/earthismine/pawnable-backend:latest}
restart: unless-stopped
env_file:
- path: .env.prod
required: false
environment:
DATABASE_URL: ${DATABASE_URL:?DATABASE_URL is required}
PORT: 8085
NODE_ENV: production
BASE_CHAIN_ID: ${BASE_CHAIN_ID:-84532}
BASE_RPC_URL: ${BASE_RPC_URL:-https://sepolia.base.org}
LOAN_CONTRACT_ADDRESS: ${LOAN_CONTRACT_ADDRESS:?LOAN_CONTRACT_ADDRESS is required}
CONTRACT_DEPLOYMENT_BLOCK: ${CONTRACT_DEPLOYMENT_BLOCK:?CONTRACT_DEPLOYMENT_BLOCK is required}
ports:
- "8085:8085"
depends_on:
db:
condition: service_healthy
frontend:
image: ${FRONTEND_IMAGE:-ghcr.io/earthismine/pawnable-frontend:latest}
restart: unless-stopped
env_file:
- path: .env.prod
required: false
environment:
NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL:-https://pawnable.site/api}
ports:
- "3005:3005"
depends_on:
backend:
condition: service_started
volumes:
postgres_data: