A multifunctional system that includes a Telegram bot, AI API, web interface, and PostgreSQL database – all containerized with Docker.
- Python
- Docker + Docker Compose
- PostgreSQL
- FastAPI
- Telegram Bot API
- Telegram bot integration
- AI processing API
- Web client interface
- PostgreSQL database
- Modular architecture with Docker services
.
├── admin/ # Admin panel (currently commented out)
├── bots/ # Telegram & WhatsApp bots
├── core/ # Core logic
├── services/ # AI API and DB init
├── web/ # Web interface
├── adapters/ # Adapter components
├── .env # Environment variables
├── docker-compose.yml # Docker Compose config
git clone https://github.com/DATAGATEWAYS/obi
cd obi
This script will automatically download Docker
chmod +x install_docker.sh
./install_docker.sh
Ensure the .env
file exists and contains required environment variables. You can use the provided one or customize as needed.
docker compose up --build
This will spin up:
- Telegram bot
- AI API (on port 8000)
- PostgreSQL database
- Web interface
- Create a Droplet with Ubuntu 22.04
- SSH into your server:
ssh root@your_droplet_ip
- Install Docker & Docker Compose:
apt update && apt install -y docker.io curl
curl -sSL https://get.docker.com | sh
- Upload your project:
git clone https://github.com/DATAGATEWAYS/obi
cd obi
Or use scp
to upload your ZIP archive.
- Start services:
docker compose up --build
to shut down services use:
docker compose down
This approach supports Git-based deployments, but requires splitting services and may be less flexible.
- Basic Plan: 1 vCPU, 1 GB RAM, 25 GB SSD — $5/month
- Ideal for lightweight bots and APIs
- Standard Plan: 2 vCPU, 2 GB RAM — $10/month
- Recommended if AI processing is heavy or for future scaling
- WhatsApp bot and Admin panel are currently commented out in
docker-compose.yml
- Make sure to review and adjust environment variables in
.env
- Consider setting up a domain name and HTTPS using Nginx or Caddy if exposed publicly (for obi website)
- Enable WhatsApp bot
- Enable Admin panel
- Add monitoring/logging (e.g., Prometheus, Grafana)
MIT License