-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
116 lines (111 loc) · 3.74 KB
/
docker-compose.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
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
107
108
109
110
111
112
113
114
115
116
version: '3.7'
services:
redis:
hostname: redis
image: 'redis:7.2.2-alpine'
restart: on-failure
volumes:
- /var/redis/crowdtainer/data:/data
networks:
- redis-network
crowdtainer-node:
hostname: crowdtainerServer
container_name: crowdtainerServer
depends_on:
- redis
build:
context: .
dockerfile: Dockerfile
target: deploy-node
restart: on-failure
ports:
- 3002:3000
networks:
- crowdtainer-webapp-network
- redis-network
environment:
- ORIGIN=${ORIGIN-http://localhost} # https://my.site.example
- HOST=${HOST-0.0.0.0}
- PORT=${PORT-3000}
- REDIS_CONNECTION_STRING=${REDIS_CONNECTION_STRING-redis:6379}
- SERVER_ETH_RPC=${SERVER_ETH_RPC}
- VITE_DOMAIN=${VITE_DOMAIN} # signature generation and verification
- VITE_TERMS_OF_AGREEMENT_PATH=${VITE_TERMS_OF_AGREEMENT_PATH}
- TX_SPONSOR_PRIVATE_KEY=${TX_SPONSOR_PRIVATE_KEY}
- AUTHORIZER_PRIVATE_KEY=${AUTHORIZER_PRIVATE_KEY}
- AUTHORIZER_SIGNATURE_EXPIRATION_TIME_IN_SECONDS=${AUTHORIZER_SIGNATURE_EXPIRATION_TIME_IN_SECONDS}
- VITE_WALLET_CONNECT_RPC=${VITE_WALLET_CONNECT_RPC}
- VITE_WALLET_CONNECT_CHAIN_ID=${VITE_WALLET_CONNECT_CHAIN_ID}
mailer:
hostname: mailer
container_name: mailer
depends_on:
- redis
build:
context: plugins/notifications
dockerfile: Dockerfile
target: mailerPlugin
restart: on-failure
networks:
- redis-network
environment:
- NODE_ENV=production
- INTERVAL_IN_MS=${INTERVAL_IN_MS-5000}
- REDIS_CONNECTION_STRING=${REDIS_CONNECTION_STRING-redis:6379}
- SMTP_SERVER=${SMTP_SERVER-test}
- SMTP_PORT=${SMTP_PORT-465}
- SMTP_SECURE=${SMTP_SECURE-true}
- SMTP_USER=${SMTP_USER}
- SMTP_PASSWORD=${SMTP_PASSWORD}
- EMAIL_FROM=${EMAIL_FROM}
- EMAIL_SUBJECT=${EMAIL_SUBJECT-'Validation Code'}
- EMAIL_TEXT=${EMAIL_TEXT-'Hello. Your validation code is %{otp_code}'}
- EMAIL_HTML=${EMAIL_HTML}
- HEALTH_CHECK_URL=${HEALTH_CHECK_URL}
- ALIVE_PING_INTERVAL_IN_SECONDS=${ALIVE_PING_INTERVAL_IN_SECONDS}
wooCommerceOrder:
hostname: wooCommerceOrder
container_name: wooCommerceOrder
depends_on:
- redis
build:
context: plugins/woocommerce
dockerfile: Dockerfile
target: wooCommerceOrder
restart: on-failure
networks:
- redis-network
environment:
- NODE_ENV=production
- INTERVAL_IN_MS=${INTERVAL_IN_MS-5000}
- REDIS_CONNECTION_STRING=${REDIS_CONNECTION_STRING-redis:6379}
- WORDPRESS_SERVER=${WORDPRESS_SERVER}
- WORDPRESS_API_CONSUMER_KEY=${WORDPRESS_API_CONSUMER_KEY}
- WORDPRESS_API_CONSUMER_SECRET=${WORDPRESS_API_CONSUMER_SECRET}
- WOOCOMMERCE_PRODUCT_IDS=${WOOCOMMERCE_PRODUCT_IDS}
- WOOCOMMERCE_VARIATION_IDS=${WOOCOMMERCE_VARIATION_IDS}
- WOOCOMMERCE_PAYMENT_METHOD=${WOOCOMMERCE_PAYMENT_METHOD-bacs}
- WOOCOMMERCE_PAYMENT_METHOD_TITLE=${WOOCOMMERCE_PAYMENT_METHOD_TITLE-'Direct Bank Transfer'}
- WOOCOMMERCE_SET_PAID=${EMAIL_SUBJECT-true}
- WOOCOMMERCE_COUPON_CODE=${WOOCOMMERCE_COUPON_CODE}
- HEALTH_CHECK_URL=${HEALTH_CHECK_URL}
- ALIVE_PING_INTERVAL_IN_SECONDS=${ALIVE_PING_INTERVAL_IN_SECONDS}
# For debugging purposes:
# e.g.: BUILDKIT_PROGRESS=plain docker compose --env-file .env.production up -d --build debug-web
debug-web:
extends: crowdtainer-node
build:
target: debugger
entrypoint: node --inspect=0.0.0.0:5858 build/index.js
volumes:
- .:/app
ports:
- "3002:3000"
- "5858:5858"
networks:
redis-network:
name: redisNetwork
driver: bridge
crowdtainer-webapp-network:
name: crowdtainerNetwork
driver: bridge