-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompose.yaml
More file actions
129 lines (129 loc) · 3.33 KB
/
Copy pathcompose.yaml
File metadata and controls
129 lines (129 loc) · 3.33 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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
services:
app:
image: as3305100/finflow-api:build-077ee9b6208785d1ae70a7cbaff554938602d6ba
deploy:
replicas: 1
update_config:
order: start-first
failure_action: rollback
delay: 10s
rollback_config:
parallelism: 1
order: start-first
healthcheck:
test:
- CMD
- wget
- '--no-verbose'
- '--tries=1'
- '--spider'
- http://127.0.0.1:3000/health/live
interval: 30s
timeout: 10s
retries: 3
start_period: 1m
environment:
- PORT=3000
- NODE_ENV=production
- CLIENT_URL=https://your-frontend-domain.com
- APP_URL=https://your-api-domain.com
- ACCESS_TOKEN_EXPIRY=15m
- REFRESH_TOKEN_EXPIRY=7d
- SALT_ROUNDS=10
- SMTP_HOST=smtp.gmail.com
- SMTP_PORT=587
- DATABASE_URL_FILE=/run/secrets/database_url
- ACCESS_TOKEN_SECRET_FILE=/run/secrets/access_token_secret
- REFRESH_TOKEN_SECRET_FILE=/run/secrets/refresh_token_secret
- SMTP_USER_FILE=/run/secrets/smtp_user
- SMTP_PASS_FILE=/run/secrets/smtp_pass
- GOOGLE_CLIENT_ID_FILE=/run/secrets/google_client_id
- GOOGLE_CLIENT_SECRET_FILE=/run/secrets/google_client_secret
- GOOGLE_CALLBACK_URL_FILE=/run/secrets/google_callback_url_v2
- RAZORPAY_KEY_ID_FILE=/run/secrets/razorpay_key_id
- RAZORPAY_KEY_SECRET_FILE=/run/secrets/razorpay_key_secret
- RAZORPAY_WEBHOOK_SECRET_FILE=/run/secrets/razorpay_webhook_secret
- AWS_REGION_FILE=/run/secrets/aws_region
- AWS_ACCESS_KEY_ID_FILE=/run/secrets/aws_access_key_id
- AWS_SECRET_ACCESS_KEY_FILE=/run/secrets/aws_secret_access_key
- AWS_S3_BUCKET_NAME_FILE=/run/secrets/aws_s3_bucket_name
- REDIS_URL_FILE=/run/secrets/redis_url
networks:
- finflow_net
secrets:
- database_url
- access_token_secret
- refresh_token_secret
- smtp_user
- smtp_pass
- google_client_id
- google_client_secret
- google_callback_url_v2
- razorpay_key_id
- razorpay_key_secret
- razorpay_webhook_secret
- aws_region
- aws_access_key_id
- aws_secret_access_key
- aws_s3_bucket_name
- redis_url
caddy:
image: caddy:2-alpine
deploy:
replicas: 1
update_config:
order: start-first
failure_action: rollback
delay: 10s
ports:
- '80:80'
- '443:443'
volumes:
- caddy_data:/data
- caddy_config:/config
networks:
- finflow_net
configs:
- source: Caddyfile
target: /etc/caddy/Caddyfile
networks:
finflow_net: null
volumes:
caddy_data: null
caddy_config: null
secrets:
database_url:
external: true
access_token_secret:
external: true
refresh_token_secret:
external: true
smtp_user:
external: true
smtp_pass:
external: true
google_client_id:
external: true
google_client_secret:
external: true
google_callback_url_v2:
external: true
razorpay_key_id:
external: true
razorpay_key_secret:
external: true
razorpay_webhook_secret:
external: true
aws_region:
external: true
aws_access_key_id:
external: true
aws_secret_access_key:
external: true
aws_s3_bucket_name:
external: true
redis_url:
external: true
configs:
Caddyfile:
file: ./Caddyfile