Какой vps выбрать для Телеграмм бота

1 МЕСТО CLOUD4BOX (РЕЙТИНГ: 9.71 ИЗ 10)

Cloud4box – это один из самых крупных центров хостинга в России и СНГ. Компания предоставляет все возможности для создания успешного веб проекта.
Тестовый период: любой тариф 24 часа бесплатно
Выделенные сервера: от 2960 рублей в месяц.
VPS: от 200 рублей в месяц.

Промокод: 3369_7105
Промокод даёт скидку от 10% и выше. Указывайте его при заказе для получения скидки.
Читать подробнее про Cloud4Box

2 МЕСТО SPRINTHOST (РЕЙТИНГ: 9.6 ИЗ 10)

Стабильный хостинг из Санкт-Петербурга, работающий на SSD дисках. Команда компании состоит из высококвалифицированных специалистов, которые имеют высокий уровень с сфере веб-технологий и солидное портфолио своих проектов в арсенале.
Тестовый период: 30 дней (по промокоду)
Хостинг: от 133 рублей в месяц
VDS/VPS: от 400 рублей в месяц
Выделенный сервер: 5300 рублей в месяц

Промокод: UTP12-1TY9Y-B60AJ

Деплой телеграм бота на vps сервер. Как запустить несколько ботов на одном vps сервере.


Месяц бесплатного использования хостинга.
Читать подробнее про Sprinthost

Источник: dzen.ru

Выбор хостинга для тг бота [закрыт]

Закрыт. На этот вопрос невозможно дать объективный ответ. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы на него можно было дать ответ, основанный на фактах и цитатах.

Закрыт 2 месяца назад .

  1. База данных должна быть на другом сервере или на том же, где и размещен бот?
  2. Если бд все же должна висеть на том же сервере, где и бот, то что мне следует установить на сервер для работы бота с бд?
  3. Какую услугу лучше выбрать для бота? (там есть облачный сервер, физический сервер, слышал что-то про VDS и VPS)
  4. Какой хостинг мне лучше выбрать для моего проекта? (я слышал про: timeweb.cloud, timeweb, heroku, hostman)

Отслеживать
задан 4 мар в 13:36
39 6 6 бронзовых знаков

Еще по теме:  Можно ли звонить через Телеграмм в другую страну

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

База данных должна быть на другом сервере или на том же, где и размещен бот?

Тебе никто не мешает разместить базу данных использовать на другом сервера (можно взять DBaaS, например), но, если проводить аналогию. с холодильником. Логичнее же его разместить в том же доме, где есть кухня и достаточно места 🙂

Если бд все же должна висеть на том же сервере, где и бот, то что мне следует установить на сервер для работы бота с бд?

Специфичный вопрос. Зависит от бд, обычно специальный сервер-приложение для этого. Иногда ничего не надо (sqlite например).

Какую услугу лучше выбрать для бота? (там есть облачный сервер, физический сервер, слышал что-то про VDS и VPS)

Большой вопрос, с этим не подскажу. Думаю этот ответ немного поможет разобраться.

Какой хостинг мне лучше выбрать для моего проекта? (я слышал про: timeweb.cloud, timeweb, heroku, hostman)

Как загрузить Telegram бота на VDS/VPS сервер

На этот вопрос невозможно дать ответ, всё зависит от предпочтений и от размера кошелька. В интернете полно обзоров и сравнений, думаю они тоже помогут разобраться.

Источник: ru.stackoverflow.com

Какой vps выбрать для телеграмм бота

Бот на Python с ChatGPT: Докеризация и деплой на VPS [Гайд]

Бот на Python с ChatGPT: Докеризация и деплой на VPS [Гайд]

2023-04-02T13:19:47.128106+03:00
Оценки статьи
Еще никто не оценил статью

В данной статье мы научимся упаковывать нашего бота с ChatGPT на основе aiogram с помощью Docker-контейнера и запустим его на виртуальном сервере в интернете, чтобы он был доступен для использования 24/7 из любой точки мира.

Статьи, которые вам необходимы перед изучением этой:

  1. Бот на Python, использующий ChatGPT для Telegram
  2. Установка Docker на Ubuntu 22.04
  3. Установка Docker Compose v2 на Ubuntu 22.04
  4. Версия бота с запоминаем контекста общения (Необязательно).

Напоминаю, что мы имеем следующий код бота chatGPT на aiogram (python)

Конфигурация Dockerfile для запуска бота на aiogram с нейросетью

Рядом с файлом main.py создаем файл Dockerfile, где мы будем билдить контейнер с Python для запуска проекта со следующим содержимым:

Dockerfile

FROM python:alpine ENV PYTHONUNBUFFERED=1 ENV PYTHONDONTWRITEBYTECODE=1 # Установим директорию для работы WORKDIR /telegram_bot COPY ./requirements.txt ./ # Устанавливаем зависимости и gunicorn RUN pip install —upgrade pip RUN pip install —no-cache-dir -r ./requirements.txt # Копируем файлы и билд COPY ./ ./ RUN chmod -R 777 ./

Эта конфигурация относится к созданию Docker-контейнера на основе образа Python Alpine, который используется для развертывания Python-приложения, в данном случае, телеграм-бота.

Еще по теме:  Местоположения по ТГ боту

В первой строке указывается базовый образ python:alpine , который используется для создания контейнера. Alpine — это минималистичный дистрибутив Linux, который предлагает меньший размер и более быстрое время запуска контейнеров.

Далее, в строках ENV PYTHONUNBUFFERED=1 и ENV PYTHONDONTWRITEBYTECODE=1 определяются переменные среды. PYTHONUNBUFFERED устанавливает флаг для Python, чтобы он выводил данные в стандартный поток вывода без буферизации, а PYTHONDONTWRITEBYTECODE отключает создание .pyc-файлов, чтобы избежать проблем с обновлением кода в контейнере.

В строке WORKDIR /telegram_bot устанавливается рабочая директория в контейнере, куда будут копироваться все файлы проекта.

Далее, в строках COPY ./requirements.txt ./ и RUN pip install —no-cache-dir -r ./requirements.txt устанавливаются зависимости проекта. Сначала копируется файл requirements.txt в текущую директорию в контейнере, а затем запускается команда pip install , чтобы установить все зависимости проекта.

В строке COPY ./ ./ копируются все файлы проекта в рабочую директорию в контейнере.

Наконец, в строке RUN chmod -R 777 ./ устанавливается разрешение на чтение, запись и выполнение для всех файлов в рабочей директории проекта в контейнере. Это делается для того, чтобы приложение внутри контейнера имело необходимые права для чтения и записи в файлы.

В итоге, данная конфигурация создает Docker-контейнер, в котором установлены все необходимые зависимости для работы телеграм-бота на основе нейросети ChatGPT и задана правильная рабочая директория для запуска приложения.

Конфигурация docker-compose для запуска бота на aiogram с нейросетью

Далее нам необходимо сконфигурировать файл запуска нашего бота с нейросетью, для этого рядом с файлами Dockerfile и main.py создаем файл docker-compose.yml со следующим содержимым:

docker-compose.yml

version: «3.9» services: telegram-bot: container_name: telegram-bot working_dir: /telegram_bot restart: always build: context: . dockerfile: Dockerfile command: sh -c «python main.py»

Этот код описывает файл docker-compose.yml, который является инструментом для определения и запуска нескольких связанных контейнеров Docker в одном и том же процессе.

Строка version: «3.9» указывает на версию Docker Compose, которая используется для создания и управления контейнерами.

Блок services определяет сервисы, которые будут запущены в контейнерах Docker, в нашем случае, сервис с именем telegram-bot определяется в блоке services .

Строка container_name: telegram-bot задает имя контейнера Docker.

Строка working_dir: /telegram_bot устанавливает рабочую директорию в контейнере.

Строка restart: always задает автоматический перезапуск контейнера в случае его остановки.

Строка build указывает, что контейнер должен быть построен с использованием Dockerfile, находящегося в текущей директории.

Строка context: . указывает на текущую директорию как контекст для сборки.

Строка dockerfile: Dockerfile указывает на имя файла Dockerfile, который будет использоваться для сборки контейнера.

Еще по теме:  Долго грузится кэш Телеграмм

Строка command: sh -c «python main.py» указывает, что при запуске контейнера будет выполнен скрипт main.py с помощью Python, который находится в текущей директории. Команда sh -c используется для запуска нескольких команд в одном процессе shell.

Создание файла requirements.txt для зависимостей

И создадим ещё один файл зависимостей, находясь в нашем виртуальном окружении. Этот файл загрузит в наш билд необходимые библиотеки для работы бота. Для его создания в терминале нашего проекта с ботом введите следующую команду: pip freeze > requirements.txt

В нашем случае получится следующий файл, у вас могут быть версии поновее:

requirements.txt

aiogram==2.25.1 aiohttp==3.8.3 aiosignal==1.3.1 async-timeout==4.0.2 attrs==22.2.0 Babel==2.9.1 certifi==2022.12.7 charset-normalizer==2.1.1 colorama==0.4.6 frozenlist==1.3.3 idna==3.4 magic-filter==1.0.9 multidict==6.0.4 openai==0.26.4 pyTelegramBotAPI==4.10.0 pytz==2022.7.1 requests==2.28.2 tqdm==4.64.1 urllib3==1.26.14 yarl==1.8.2

Копируем telegram бота с ChatGPT на VPS

Далее нам необходимо скопировать эти 3 файла в директорию на виртуальном сервере. Я уже приобрел такой сервер, обычно я беру сервера на timeweb.

Установленная ОС: Ubuntu 22.04.

Чтобы скинуть файлы на сервер, нам необходим клиент для подключения по SSH, например FileZilla или WinSCP.

Я буду использовать FileZilla:

Вводим данные от сервера и подключаемся

Обычно я все файлы выкладываю в папку /home/ на сервере. Сюда я их и скопирую, предварительно создав папку telegram_bot.

Создаю папку telegram_bot Копирую файлы в папку telegram_bot Скопированные файлы проекта

Далее перейдем к запуску. Мы должны будем подключиться через терминал по SSH протоколу на наш сервер.

Запускаем telegram бота с ChatGPT на VPS

Далее вам необходимо установить Docker на вашу ОС.

В начале статьи я уже оставил нужные уроки, по которым вам необходимо поставить Docker и Docker Compose. Ставятся они очень быстро без каких либо проблем.

  1. Установка Docker на Ubuntu 22.04
  2. Установка Docker Compose v2 на Ubuntu 22.04

Находимся в папке проекта

Далее нам остается лишь последнее, сбилдить проект и запустить его, вводим следующую команду для установки нашего билда с ботом: docker compose build

Процесс создания контейнера

После окончания прогресса создания билда, мы запускаем его с помощью следующей команды: docker compose up

Контейнер запускается с нашим ботом

Проверка работы telegram-бота на aiogram с ChatGPT в Docker контейнере на VPS

Теперь я напишу своему боту что-нибудь:

Бот отвечает нам, находясь на VPS сервере и работя из Docker контейнера

На этом всё. Мы быстро развернули проект пошагово в Docker контейнере и проверили его работу. Как видите, я специально вывел функцию print() моих сообщений боту, чтобы наглядно вам показать работу с ботом на сервере.

Загрузка категорий. ‍♂️

Добро пожаловать в Блог Разработчика Владислава Александровича.

Ведется медленная, но уверенная разработка функционала сайта.

Django Core: 0.3.4 / Next.js 1.0 / UPD: 25.05.2023

Источник: proghunter.ru

Рейтинг
( Пока оценок нет )
Загрузка ...