1+ version : " 3.8"
2+
3+ services :
4+ # API Service
5+ postgres-backup-api :
6+ image : ghcr.io/evolutionapi/evolution-postgres-backup-api:main
7+ networks :
8+ - network_public
9+ environment :
10+ # ========== BASIC CONFIGURATION ==========
11+ PORT : 8080
12+ API_KEY : " a4f3a241-7763-4f3b-9101-0e26c5029f17"
13+ LOG_LEVEL : " info"
14+ BACKUP_TEMP_DIR : " /tmp/postgres-backups"
15+ # ========== DATABASE CONFIGURATION ==========
16+ DB_TYPE : " postgres"
17+ POSTGRES_HOST : " postgres-backup-db"
18+ POSTGRES_PORT : 5432
19+ POSTGRES_DB : " backup_service"
20+ POSTGRES_USER : " backup_admin"
21+ POSTGRES_PASSWORD : " backup_password_2024"
22+ # ========== S3 STORAGE CONFIGURATION ==========
23+ S3_ENDPOINT : " https://hel1.your-objectstorage.com"
24+ S3_REGION : " hel1"
25+ S3_BUCKET : " backup-chatpolos"
26+ S3_ACCESS_KEY_ID : " M4WID7GXREH2EC5J30V8"
27+ S3_SECRET_ACCESS_KEY : " pLTF4vVMSnon1AL6NI9iTU86G0fTaVd7QyG6xfax"
28+ S3_USE_SSL : " true"
29+ volumes :
30+ - postgres_backup_temp:/tmp/postgres-backups
31+ deploy :
32+ replicas : 2
33+ placement :
34+ constraints :
35+ - node.hostname == api1-server
36+ labels :
37+ - traefik.enable=true
38+ - traefik.http.routers.postgres_backup_api.rule=Host(`api.backup.chatpolos.com.br`)
39+ - traefik.http.routers.postgres_backup_api.entrypoints=websecure
40+ - traefik.http.routers.postgres_backup_api.tls.certresolver=letsencryptresolver
41+ - traefik.http.routers.postgres_backup_api.priority=1
42+ - traefik.http.routers.postgres_backup_api.service=postgres_backup_api
43+ - traefik.http.services.postgres_backup_api.loadbalancer.server.port=8080
44+ - traefik.http.services.postgres_backup_api.loadbalancer.passHostHeader=true
45+
46+ # Worker Service
47+ postgres-backup-worker :
48+ image : ghcr.io/evolutionapi/evolution-postgres-backup-worker:main
49+ networks :
50+ - network_public
51+ environment :
52+ # ========== BASIC CONFIGURATION ==========
53+ API_KEY : " a4f3a241-7763-4f3b-9101-0e26c5029f17"
54+ LOG_LEVEL : " info"
55+ BACKUP_TEMP_DIR : " /tmp/postgres-backups"
56+ WORKER_COUNT : 4
57+ # ========== DATABASE CONFIGURATION ==========
58+ DB_TYPE : " postgres"
59+ POSTGRES_HOST : " postgres-backup-db"
60+ POSTGRES_PORT : 5432
61+ POSTGRES_DB : " backup_service"
62+ POSTGRES_USER : " backup_admin"
63+ POSTGRES_PASSWORD : " backup_password_2024"
64+ # ========== S3 STORAGE CONFIGURATION ==========
65+ S3_ENDPOINT : " https://hel1.your-objectstorage.com"
66+ S3_REGION : " hel1"
67+ S3_BUCKET : " backup-chatpolos"
68+ S3_ACCESS_KEY_ID : " M4WID7GXREH2EC5J30V8"
69+ S3_SECRET_ACCESS_KEY : " pLTF4vVMSnon1AL6NI9iTU86G0fTaVd7QyG6xfax"
70+ S3_USE_SSL : " true"
71+ volumes :
72+ - postgres_backup_temp:/tmp/postgres-backups
73+ deploy :
74+ replicas : 2
75+ placement :
76+ constraints :
77+ - node.hostname == api1-server
78+
79+ # Frontend Service
80+ postgres-backup-frontend :
81+ image : ghcr.io/evolutionapi/evolution-postgres-backup-frontend:main
82+ networks :
83+ - network_public
84+ environment :
85+ # ========== FRONTEND CONFIGURATION ==========
86+ REACT_APP_API_BASE_URL : " https://api.backup.chatpolos.com.br"
87+ REACT_APP_API_KEY : " a4f3a241-7763-4f3b-9101-0e26c5029f17"
88+ deploy :
89+ replicas : 2
90+ placement :
91+ constraints :
92+ - node.hostname == api1-server
93+ labels :
94+ - traefik.enable=true
95+ - traefik.http.routers.postgres_backup_frontend.rule=Host(`backup.chatpolos.com.br`)
96+ - traefik.http.routers.postgres_backup_frontend.entrypoints=websecure
97+ - traefik.http.routers.postgres_backup_frontend.tls.certresolver=letsencryptresolver
98+ - traefik.http.routers.postgres_backup_frontend.priority=1
99+ - traefik.http.routers.postgres_backup_frontend.service=postgres_backup_frontend
100+ - traefik.http.services.postgres_backup_frontend.loadbalancer.server.port=80
101+ - traefik.http.services.postgres_backup_frontend.loadbalancer.passHostHeader=true
102+
103+ volumes :
104+ postgres_backup_data :
105+ external : true
106+ name : postgres_backup_data
107+ postgres_backup_temp :
108+ external : true
109+ name : postgres_backup_temp
110+
111+ networks :
112+ network_public :
113+ external : true
114+ name : network_public
0 commit comments