-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
96 lines (91 loc) · 2.6 KB
/
docker-compose.yml
File metadata and controls
96 lines (91 loc) · 2.6 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
volumes:
postgres_data:
services:
# ================================
# Database Services
# ================================
postgres:
image: postgres:18.0-alpine3.22
container_name: postgres_db
restart: always
command: -c config_file=/etc/postgresql/postgresql.conf
environment:
POSTGRES_USER: default
POSTGRES_PASSWORD: password
ports:
- '5432:5432'
volumes:
- ./packages/postgresql/postgresql.conf:/etc/postgresql/postgresql.conf:ro
- postgres_data:/var/lib/postgresql/18/data
healthcheck:
test: [CMD, pg_isready, -U, default]
interval: 10s
timeout: 5s
retries: 3
start_period: 5s
# ================================
# REST Services
# ================================
api-main:
container_name: api-main
build:
context: .
dockerfile: ./packages/api-main/Dockerfile
image: ditherchat/api-main
restart: always
depends_on:
postgres:
condition: service_healthy
environment:
PG_URI: 'postgresql://default:password@postgres:5432/postgres'
AUTH: dev
JWT: dev-jwt-secret
ports:
- 3000:3000
healthcheck:
test: 'curl -s http://api-main:3000/v1/health || exit 1'
interval: 5s
timeout: 3s
retries: 30
start_period: 10s
# ================================
# ChronoSync Service
# ================================
reader-main:
container_name: reader-main
build:
context: .
dockerfile: ./packages/reader-main/Dockerfile
image: ditherchat/reader-main
restart: always
command: [bun, run, start]
depends_on:
postgres:
condition: service_healthy
api-main:
condition: service_healthy
environment:
API_URLS: 'https://atomone-testnet-1-api.allinbits.services'
# API_URLS: "https://atomone-api.allinbits.services"
START_BLOCK: '1979480'
BATCH_SIZE: 500
MEMO_PREFIX: dither.
RECEIVER: atone1uq6zjslvsa29cy6uu75y8txnl52mw06j6fzlep
API_ROOT: 'http://api-main:3000/v1'
AUTH: dev
# Uncomment to enable fast sync
FAST_SYNC_URL: 'https://deploy-preview-516--dither-staging.netlify.app/api/fast-sync'
# PG_URI: postgres://username:password@postgres-feed:5432/feed
# LOG: process.env.LOG === 'true' ? true : false,
# ================================
# Gateway Service
# ================================
# nginx:
# image: nginx:latest
# volumes:
# - ./packages/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
# ports:
# - "80:80"
# depends_on:
# - postgres
# - api-main