- About the Project
- Requirements
- Quick Start
- Features
- Technologies
- Development
- Code Style
- Authors
- License
- Troubleshooting
To be added later
To ensure the project works correctly, you need:
- Domain Name. Telegram does not support WebHook connections via an IP address or without an SSL certificate.
- Telegram Bot Token. You can create one using BotFather.
- Telegram Chat ID:
- For personal messages from the bot:
1234567. - For a small group:
-1234567. - For a large group/supergroup:
-1001234567. - Important:
- To receive personal messages, you must start a chat with the bot.
- For groups, you need to add the bot to the group and grant it minimal admin rights to send messages.
- For personal messages from the bot:
- (Optional) Telegram Chat Thread ID. Required for sending messages to a specific topic in a supergroup.
To launch the project, follow these steps:
- Connect to your server via SSH and create a directory for the project in a convenient location:
mkdir taigram && cd taigram
- Download the configuration file and set up the settings:
-
Download the file:
mkdir -p config && wget -O config/settings.yaml https://raw.githubusercontent.com/proDreams/taiga_wh_notifier/refs/heads/main/config/settings.prod_example.yaml -
Open the file for editing:
nano config/settings.yaml
-
Update the following parameters:
ADMIN_IDS– specify the main bot administrators as a list using-.ERRORS_CHAT_ID– enter the chat ID where error messages will be sent.- (Optional)
ERRORS_THREAD_ID– specify the thread ID in a supergroup. Leave it empty if not needed. WEBHOOK_DOMAIN– enter your domain name.- (Optional)
DEFAULT_LANGUAGE– set the bot's default interface language. - (Optional/Important)
TIME_ZONE- specify your desired time zone. By default, it isEurope/Moscow. TELEGRAM_BOT_TOKEN– enter the Telegram bot token.DB_URL– replace:twhn_userwith your database username.twhn_passwordwith your database password.
- (optional)
DB_NAME- specify the database name. By default, it istaigram.
You can find other available configuration parameters in the documentation (coming soon).
-
Save and exit by pressing
CTRL+S, thenCTRL+X.
-
- Create a
.envfile, replacingMONGO_USERNAMEandMONGO_PASSWORDwith the values set insettings.yaml:cat <<EOF > .env MONGO_USERNAME=twhn_user MONGO_PASSWORD=twhn_password EOF
- Download the
docker-composefile:- If you have your own web server (Caddy/NGINX/etc.):
- Download
docker-compose.yaml:wget -O docker-compose.yaml https://raw.githubusercontent.com/proDreams/taiga_wh_notifier/refs/heads/main/docker-compose.yaml
- Open the file for editing:
nano docker-compose.yaml
- Uncomment the
networksblock at the bottom, replacing<network_name>with your web server’s network name, e.g.:networks: default: name: caddy-network external: true
- Save and exit by pressing
CTRL+S, thenCTRL+X. - Configure proxying in your web server to
taigram:8000.
- Download
- If you don't have a web server on your server:
- Download
docker-compose.yaml:wget -O docker-compose.yaml https://raw.githubusercontent.com/proDreams/taiga_wh_notifier/refs/heads/main/docker-compose.caddy.yaml
- Download
Caddyfile:mkdir -p caddy && wget -O Caddyfile https://raw.githubusercontent.com/proDreams/taiga_wh_notifier/refs/heads/main/caddy/Caddyfile - Open the file for editing:
nano caddy/Caddyfile
- Replace
example.example.comwith your actual domain name. - Save and exit by pressing
CTRL+S, thenCTRL+X.
- Download
- If you have your own web server (Caddy/NGINX/etc.):
- Start the project:
sudo docker compose up -d
- Once the bot starts, you will receive a notification in Telegram:
Service Notification: Bot started. /start
To be added later
To be added later
See detailed guidelines in CONTRIBUTING.md. Additional sections to be added later
Refer to STYLEGUIDE.md. Updates to be added later
- Development:
- Design:
Developed as part of the "Code on a Napkin" project.
Website: https://pressanybutton.ru/ Telegram channel: https://t.me/press_any_button
This project is licensed under the MIT License. See LICENSE for details.
Will be moved to the documentation later.
MongoDB fails to start with the error: "Processor without AVX instructions is not supported."
-
Open
docker-compose.yamlfor editing:nano docker-compose.yaml
-
Find and replace the following lines:
- Change
image: mongotoimage: ghcr.io/flakybitnet/mongodb-server:7.0.16-fb2 - Change
MONGO_INITDB_ROOT_USERNAME: ${MONGO_USERNAME}toMONGODB_ROOT_USER: ${MONGO_USERNAME} - Change
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_PASSWORD}toMONGODB_ROOT_PASSWORD: ${MONGO_PASSWORD}
The final
mongoservice should look like this:mongo: image: ghcr.io/flakybitnet/mongodb-server:7.0.16-fb2 container_name: taigram_mongo restart: always environment: MONGODB_ROOT_USER: ${MONGO_USERNAME} MONGODB_ROOT_PASSWORD: ${MONGO_PASSWORD} volumes: - taigram_mongo_db:/data/db healthcheck: test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet interval: 10s timeout: 10s retries: 5
- Change
-
Save and exit by pressing
CTRL+S, thenCTRL+X. -
Start the project:
sudo docker compose up -d
