webshining / aiogram-mongo-template

Aiogram template with mongo database

Home Page:https://github.com/webshining/aiogram-mongo-template

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Aiogram Mongo Template

Telegram Bot template with aiogram, mongodb and docker

Technologies used:

  • Aiogram
  • Redis
  • Motor
  • MongoDB
  • i18n
  • Docker and docker compose

Navigate

Getting started

Init project

$ git clone -b aiogram3 https://github.com/webshining/aiogram-mongo-template project_name
$ cd project_name
$ pip install -r requirements.txt

Configure environment variables

Copy variables from .env.ren file to .env

$ cp .env.ren .env

Bot config

TELEGRAM_BOT_TOKEN - your bot token (required)

I18N_DOMAIN - locales file name

Redis config

If you are not using redis, by default used MemoryStorage

RD_DB - your redis database (number)

RD_HOST - your redis host

RD_PORT - your redis port

You can specify RD_URI instead of RD_DB, RD_HOST and RD_PORT

RD_URI - connection url to your redis server

Database config

MongoDB URL format
> mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]

MONGODB_URL - connection url to your mongodb server

Application start (local)

$ python main.py
# If you have make you can enter
$ make run

Docker

Application start (docker)

Run only one service:
> $ docker-compose up -d service-name

$ docker-compose up -d
# If you have make you can enter
$ make rebuild

View app logs

$ docker-compose logs -f app
# If you have make you can enter
$ make logs

Rebuild app

$ docker-compose up -d --build --no-deps --force-recreate
# If you have make you can enter
$ make rebuild

About

Aiogram template with mongo database

https://github.com/webshining/aiogram-mongo-template

License:MIT License


Languages

Language:Python 89.0%Language:Makefile 7.0%Language:Dockerfile 3.8%Language:Shell 0.2%