forked from Der-Henning/tgtg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
105 lines (97 loc) · 8.28 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
version: "3.3"
services:
app:
image: derhenning/tgtg:latest ## pre build image from docker hub
#image: tgtg-scanner:latest ## locally build image
environment:
- TZ=Europe/Berlin ## Set timezone for pickupdate, otherwise will be utc
- DEBUG=false ## true for debug log messages
- TGTG_USERNAME= ## TGTG Username / Login EMail
- SLEEP_TIME=60 ## Time to wait till next scan in seconds - default 60 seconds
#- SCHEDULE_CRON= ## (optional) Scheduler in cron schedule expression
## Example of cron schedule expression:
## - SCHEDULE_CRON=* 12-14 * * 1-5
## => allowed to run at hours between 12:00 and 14:59 on monday to friday
## more help with formatting at https://crontab.guru/#*_12-14_*_*_1-5
## The Scanner will not make any requests to the TGTG API in the excluded periods
- ITEM_IDS= ## (optional) Comma seperated list of Item Ids to scan
- METRICS=false ## Enable to export metrics for Prometheus
- METRICS_PORT=8000 ## Port for metrics http server
- DISABLE_TESTS=false ## true to disable test notifications on startup
- QUIET=false ## true to disable all console messages. Only errors and console notifier messages
- LOCALE=en_US ## set locale to localize ${{pickupdate}}
- APPRISE=false ## true = enable notifications via Apprise
- APPRISE_URL= ## Apprise URL
## See the list of supported services: https://github.com/caronc/apprise/wiki
#- APPRISE_CRON=
#- APPRISE_TITLE= ##
#- APPRISE_BODY= ## Message body, variables as described below
## The supported message format depends on the chosen service
## Default: '${{display_name}} - new amount: ${{items_available}} - https://share.toogoodtogo.com/item/${{item_id}}'
- CONSOLE=false ## true = enable simple console notifications
#- CONSOLE_BODY= ## console message with variables as described below
#- CONSOLE_CRON= ## Disable notifications based on cron
- SMTP=false ## true = enable mail notifications via smtp
- SMTP_HOST=smtp.gmail.com ## smtp Server - smtp.gmail.com for google
- SMTP_PORT=587 ## smtp Server Port - 587 for TLS, 465 for SSL, 25 for unsecured
- [email protected] ## smtp Login - your EMail for google
- SMTP_PASSWORD= ## smtp Login Password - your Login PW for google
- SMTP_TLS=true ## enable TLS
- SMTP_SSL=false ## enable SSL
- [email protected] ## sender adress - same as Login for google and most smtp servers
- [email protected] ## recipient for notifications - can be the same as sender
#- SMTP_CRON=
#- SMTP_SUBJECT= ## Subject and Body options are optional.
#- SMTP_BODY= ## Subject and Body options can use variables as described below
## The Body option is interpreted as HTML
- PUSH_SAFER=false ## true = enable notifications via pushsafer.com
- PUSH_SAFER_KEY=
- PUSH_SAFER_DEVICE_ID=
#- PUSH_SAFER_CRON=
- TELEGRAM=false ## true = enable notifications via Telegram
- TELEGRAM_TOKEN= ## Telegram Bot token - see @botfather
- TELEGRAM_CHAT_IDS= ## Telegram Chat id, multiple ids separated by comma
- TELEGRAM_TIMEOUT=60 ## Timeout for Telegram API requests
#- TELEGRAM_CRON=
#- TELEGRAM_BODY= ## Optional message body as markdown, variables as described below
## Example:
## 'TELEGRAM_BODY=*$${{display_name}}*\n*Available*: $${{items_available}}\n*Rating*: $${{rating}}\n*Price*: $${{price}} $${{currency}}\n*Pickup*: $${{pickupdate}}'
## In some cases you may have to add
## 'TELEGRAM_BODY={{` ... `}}'
- IFTTT=false ## true = enable notifications via IFTTT Webhooks
- IFTTT_EVENT=tgtg_notification ## IFTTT Webhooks Event
- IFTTT_KEY= ## IFTTT Webhooks Key
#- IFTTT_CRON=
- IFTTT_BODY= ## IFTTT json data body
## Default: {"value1": "$${{display_name}}", "value2": $${{items_available}}, "value3": "https://share.toogoodtogo.com/item/$${{item_id}}"}
## Possible $${{variable}} variables: item_id, items_available, display_name, price, currency, pickupdate, item_logo, item_cover, scanned_on
- NTFY=false ## true = enable notifications via ntfy
- NTFY_SERVER=https://ntfy.sh ## server to use for ntfy url
- NTFY_TOPIC= ## topic the topic to use for ntfy url
#- NTFY_TITLE=New TGTG Items ## Title of the notification
#- NTFY_BODY= ## Body of the notification
## Default: ${{display_name}} - New Amount: ${{items_available}} - https://share.toogoodtogo.com/item/${{item_id}}
#- NTFY_PRIORITY=default ## Priority of the notification
#- NTFY_TAGS=tgtg ## Tags of the notification
#- NTFY_CLICK= ## URL to open on click - Default: https://share.toogoodtogo.com/item/${{item_id}}
#- NTFY_USERNAME= ## Username for the ntfy server/topic
#- NTFY_PASSWORD= ## Password for the ntfy server/topic
#- NTFY_TIMEOUT=60 ## Request Timeout
#- NTFY_CRON=
## Possible $${{variable}} variables: item_id, items_available, display_name, price, currency, pickupdate, item_logo, item_cover, scanned_on
## Link to item in App: https://share.toogoodtogo.com/item/${{item_id}}
## Example:
## - 'WEBHOOK_BODY={"message": "$${{display_name}} - New Amount: $${{items_available}}", "priority": 2, "title": "New TGTG Items"}'
## Notice that you have to enclose the variable with ''
- WEBHOOK=false ## true = enable notifications via costum WebHook
- WEBHOOK_URL= ## URL of your WebHook, can contain $${{variable}}
- WEBHOOK_METHOD=POST ## Request Method
- WEBHOOK_BODY={} ## Data to send, can contain $${{variable}}
- WEBHOOK_TYPE=application/json ## Content-Type for header, default: text/plain
- WEBHOOK_HEADERS={} ## Additional headers
- WEBHOOK_TIMEOUT=60 ## Request Timeout
#- WEBHOOK_CRON=
volumes:
- tokens:/tokens ## volume to save TGTG credentials to reuse on next start up and avoid login mail
volumes:
tokens: