-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.dist
More file actions
82 lines (71 loc) · 3.65 KB
/
Copy path.env.dist
File metadata and controls
82 lines (71 loc) · 3.65 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
# Telegram
BOT_TOKEN=123456:replace_with_bot_token
ADMINS=123456789
USE_REDIS=False # enable Redis FSM storage
THROTTLING_ENABLED=True # enable in-memory anti-spam throttling
THROTTLE_WINDOW_SECONDS=10 # rolling time window for rate limits
THROTTLE_MESSAGE_MAX_EVENTS=7 # max regular user messages per window
THROTTLE_COMMAND_MAX_EVENTS=12 # max command messages like /start and /menu per window
THROTTLE_CALLBACK_MAX_EVENTS=25 # max regular inline button presses per window (menu navigation/pagination)
THROTTLE_HEAVY_CALLBACK_MAX_EVENTS=8 # max heavy callbacks (pay/check/group access) per window
THROTTLE_WARNING_COOLDOWN_SECONDS=5.0 # min delay between repeated warning messages in private chat
# Database
DB_HOST=127.0.0.1
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=postgres
DB_NAME=bot
DB_MIN_POOL_SIZE=1
DB_MAX_POOL_SIZE=10
BACKUP_INTERVAL_SECONDS=86400 # interval between automatic DB dumps (seconds)
BACKUP_RETENTION_DAYS=14 # keep dumps for this many days in backup volume
PGADMIN_DEFAULT_EMAIL=admin@uavdi.local # pgAdmin login email
PGADMIN_DEFAULT_PASSWORD=546454 # pgAdmin login password
# Redis (only if USE_REDIS=True)
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_PASSWORD="" # Redis password, leave empty if no auth
# CloudBeaver
CLOUDBEAVER_ROOT_URI=/cloudbeaver/
CLOUDBEAVER_SERVER_URL=https://your-domain.example/cloudbeaver/
CLOUDBEAVER_SERVER_NAME=UAVDI DB Panel
CLOUDBEAVER_ADMIN_NAME=admin
CLOUDBEAVER_ADMIN_PASSWORD=change_me_strong_password
# Chats
CHAT_MEMBERSHIP_CHAT_ID=-1000000000000 # shared/member group where paid users are invited
CHAT_APPLICATIONS_CHAT_ID=-1000000000001 # optional extra chat id (reserved)
# Membership
MEMBERSHIP_APPLICATION_URL=https://uavdi.com.ua/#contact-form-mobile
MEMBERSHIP_APPLICATION_LINK_BASE_URL=https://uavdi.com.ua/#contact-form-mobile
MEMBERSHIP_FALLBACK_MANUAL_SUBMIT_ENABLED=True # allow manual "I already applied" fallback flow
# Payments / LiqPay
PAYMENTS_ENABLED=False
LIQPAY_PUBLIC_KEY=public_key_here
LIQPAY_PRIVATE_KEY=private_key_here
LIQPAY_CURRENCY=UAH
LIQPAY_AMOUNT=1000.00
PUBLIC_WEBHOOK_BASE_URL=https://your-domain.example # public domain root of your webhook app, without path
LIQPAY_CALLBACK_PATH="" # optional override, leave empty to use code default callback path
LIQPAY_PAY_PATH="" # optional override, leave empty to use code default pay-page path
# PUBLIC_BASE_URL="" # legacy key, keep empty unless backward compatibility is needed
# Subscription enforcement
ENFORCE_EXPIRED_REMOVAL=False
ENFORCE_EXPIRED_REMOVAL_DRY_RUN=True # log-only mode for removal job
ENFORCE_EXPIRED_REMOVAL_MAX_PER_RUN=25 # safety cap per enforcement run
# Webhook (Weblium)
WEBHOOK_ENABLED=False
WEBHOOK_HOST=0.0.0.0
WEBHOOK_PORT=8080
WEBHOOK_WEBLIUM_PATH="" # optional override, leave empty to use code default path
WEBHOOK_WEBLIUM_SECRET=replace_with_secret
WEBHOOK_SIGNATURE_SECRET="" # optional HMAC secret for raw webhook body signature check
WEBHOOK_SIGNATURE_HEADER=X-Webhook-Signature # header that carries webhook signature value
WEBHOOK_TRUSTED_PROXY_IPS="" # comma-separated trusted proxy CIDRs for IP allowlist
# Voting
VOTING_CHAT_ID=-1000000000002 # admin-only voting group (must be different from CHAT_MEMBERSHIP_CHAT_ID)
VOTING_TOPIC_ID="" # optional forum topic ID inside admin voting group
# VOTING_THREAD_ID="" # legacy key (old name), use VOTING_TOPIC_ID for new setups
VOTING_ALLOW_SHARED_CHAT=False # set True only if you intentionally use one chat for both voting and membership
VOTE_DURATION_SECONDS=86400 # max seconds before auto-close (set 0 to use only target-based finalize)
VOTE_MIN_TOTAL="" # optional target votes for one option (yes or no), default 1
VOTE_REQUIRE_YES_GT_NO=True # require yes votes to be strictly greater than no