-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
115 lines (102 loc) · 3.4 KB
/
Copy pathdocker-compose.yml
File metadata and controls
115 lines (102 loc) · 3.4 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
services:
bot:
build: .
restart: always
environment:
# === Bot Identity ===
# Telegram Bot Token (from @BotFather)
- BOT_TOKEN=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
# Environment: 'production' or 'test'
- ENVIRONMENT=production
# Optional: self-hosted tdlib/telegram-bot-api URL (leave unset for public api.telegram.org)
# - TELEGRAM_API_URL=http://telegram-bot-api:8081
# === Database & Storage ===
# Firebird Database URL (external server)
- DB_URL=firebird+fdb://SYSDBA:password@firebird-server///path/to/mmwb.fdb
# MongoDB URL for document storage
- MONGODB_URL=mongodb://mongo:27017/mmwb
# Redis URL (internal docker network)
- REDIS_URL=redis://redis:6379/0
# === Stellar Blockchain ===
# Transaction fee in stroops (100 = 0.00001 XLM)
- BASE_FEE=100
# Horizon API URL (public, for reads)
- HORIZON_URL=https://horizon.stellar.org/
# Horizon API URL (for writes, can be dedicated server)
- HORIZON_URL_RW=https://horizon.stellar.org
# === Tron Blockchain ===
- TRON_API_KEY=your_tron_api_key
- TRON_MASTER_ADDRESS=your_tron_master_address
- TRON_MASTER_KEY=your_tron_master_private_key
# === TON Blockchain ===
- TONCONSOLE_TOKEN=your_tonconsole_token
- TON_TOKEN=your_ton_token
- TONCENTER_TOKEN=your_toncenter_token
# === External Integrations ===
# OpenAI API Key for AI features
- OPENAI_KEY=sk-your-openai-key
# ThothPay API Key
- THOTHPAY_API=your_thothpay_key
# EURMTL Key
- EURMTL_KEY=your_eurmtl_key
# Grist Token (spreadsheets)
- GRIST_TOKEN=your_grist_token
# DeBank API Key (optional)
- DEBANK=your_debank_key
# Sentry DSN for error tracking
- SENTRY_DSN=https://[email protected]/0
# === Bot Configuration ===
# Cost to create a wallet
- WALLET_COST=1.0
# Admin user IDs (comma-separated)
- ADMIN_LIST=12345678,87654321
# === Notification Service ===
# Operations Notifier service URL
- NOTIFIER_URL=http://operations-notifier:8000
# Public URL for receiving webhooks
- WEBHOOK_PUBLIC_URL=http://bot:8081/webhook
# Internal webhook port
- WEBHOOK_PORT=8081
# Notifier public key (for signature verification)
- NOTIFIER_PUBLIC_KEY=GXXXXXXX
# Service secret key (for signing requests)
- SERVICE_SECRET=SXXXXXXX
# Auth token (alternative to SERVICE_SECRET)
- NOTIFIER_AUTH_TOKEN=
# === WebApp ===
# URL of WebApp for biometric signing (must be HTTPS)
- WEBAPP_URL=https://webapp.example.com
volumes:
- ./logs:/app/logs
- ./data:/app/data
depends_on:
- redis
- mongo
webapp:
build:
context: .
dockerfile: Dockerfile.webapp
restart: always
environment:
# Redis URL (internal docker network)
- REDIS_URL=redis://redis:6379/0
# Bot token for validating Telegram WebApp initData
- BOT_TOKEN=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
ports:
- "8000:8000"
depends_on:
- redis
redis:
image: redis:alpine
restart: always
volumes:
- redis_data:/data
command: redis-server --appendonly yes
mongo:
image: mongo:latest
restart: always
volumes:
- mongo_data:/data/db
volumes:
redis_data:
mongo_data: