Deployment guide¶
Call Baxter has two Docker Compose layouts with deliberately different scopes.
Choose the correct stack¶
| Layout | Services | Best for | WordPress bridge included |
|---|---|---|---|
docker/ |
Call Baxter, MariaDB, WordPress, optional Caddy | complete Telegram-to-WordPress deployment and first-run tutorial | yes |
infra/ |
Call Baxter and Caddy | minimal runtime/proxy deployment when WordPress is external or unused | no |
Do not use the minimal stack for the bundled WordPress example
The infra/ image installs call-baxter and tg-agent-cli, but not cb-wordpress-plugin. It also does not run WordPress or MariaDB. Use docker/ for the end-to-end example.
Recommended first deployment¶
Start with Telegram long polling. It requires no public DNS or HTTPS and isolates initial failures to the bot token, runtime, rules, and WordPress credentials.
Telegram getUpdates
-> call-baxter
-> telegram.message.new
-> wordpress.mirror_telegram_message
-> WordPress REST API
Once this works, switch to webhook mode:
Telegram HTTPS webhook
-> Caddy secret-token check
-> call-baxter Unix socket
-> same event/rule/action path
-> WordPress REST API
Tutorials and references¶
- Hands-on Docker deployment: Telegram to WordPress
- Minimal Call Baxter + Caddy deployment
- WordPress plugin integration
- Telegram plugin
- TGEX migration
Operational sequence¶
1. Verify repository
2. Create Telegram bot
3. Configure docker/.env
4. Start MariaDB + WordPress
5. Create WordPress integration user + application password
6. Verify REST authentication
7. Start Call Baxter in polling mode
8. Send #blog test message
9. Verify runtime, projection, publication mapping, and WordPress
10. Optionally switch to Caddy webhook mode
11. Back up state before upgrades
The full tutorial includes exact commands and failure diagnostics for each stage.