You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit a7138e2
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: README.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -149,6 +149,8 @@ getFile -> bounded download
149
149
|:--|:--:|:--|:--|
150
150
|`TELEGRAM_BOT_TOKEN`| yes | — | Bot token from BotFather |
151
151
|`TELEGRAM_API_BASE`| no |`https://api.telegram.org`| Bot API server; a self-hosted one lifts the 20 MB media ceiling |
152
+
|`BOT_API_FILES_DIR`| with a self-hosted server | — | That server's media directory as Voicy sees it (its `--files-dir`, or its `--dir` on a server without one). It runs with `--local`, so it hands over files by absolute path and serves none over HTTP; mount only `<dir>/<token>`, and create that directory owned by uid 101 first |
153
+
|`TELEGRAM_READY_WAIT`| no |`30s`| How long startup waits for a self-hosted server that is still booting |
152
154
|`DEEPGRAM_API_KEY`| yes | — | Deepgram project API key |
153
155
|`DATABASE_URL`| yes | — | PostgreSQL URL for `voicy_core`; the service enforces `search_path=voicy`|
# The shared Bot API server runs with --local, which means it answers
21
+
# getFile with an absolute path on its own disk and serves nothing over
22
+
# HTTP: its /file/bot<token>/... route returns 404 by design. So the
23
+
# directory has to be mounted — but only this bot's own subdirectory. The
24
+
# parent holds one subdirectory per bot, each named after that bot's full
25
+
# token, and mounting it would hand Voicy every other bot's credentials.
26
+
# Long syntax, not "source:target": a bot token contains a colon and both
27
+
# paths contain the token, so the short form splits in the wrong places.
28
+
# The bind option is not decoration either -- without one, Compose flattens
29
+
# long syntax back into a "source:target:rw" string and the daemon's parser
30
+
# fails the same way ("invalid volume specification: too many colons").
31
+
volumes:
32
+
- type: bind
33
+
# The directory must already exist and be owned by uid 101, the user
34
+
# the Bot API server writes as. Docker would otherwise create it as
35
+
# root, and then neither the server nor this bot could write in it.
36
+
source: ${BOT_API_HOST_DIR:?BOT_API_HOST_DIR must point at the Bot API server media directory on the host}/${TELEGRAM_BOT_TOKEN:?TELEGRAM_BOT_TOKEN must be set for the Bot API files mount}
0 commit comments