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 месяца назад .
- База данных должна быть на другом сервере или на том же, где и размещен бот?
- Если бд все же должна висеть на том же сервере, где и бот, то что мне следует установить на сервер для работы бота с бд?
- Какую услугу лучше выбрать для бота? (там есть облачный сервер, физический сервер, слышал что-то про VDS и VPS)
- Какой хостинг мне лучше выбрать для моего проекта? (я слышал про: 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 [Гайд]
2023-04-02T13:19:47.128106+03:00
Оценки статьи
Еще никто не оценил статью
В данной статье мы научимся упаковывать нашего бота с ChatGPT на основе aiogram с помощью Docker-контейнера и запустим его на виртуальном сервере в интернете, чтобы он был доступен для использования 24/7 из любой точки мира.
Статьи, которые вам необходимы перед изучением этой:
- Бот на Python, использующий ChatGPT для Telegram
- Установка Docker на Ubuntu 22.04
- Установка Docker Compose v2 на Ubuntu 22.04
- Версия бота с запоминаем контекста общения (Необязательно).
Напоминаю, что мы имеем следующий код бота 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.
Далее перейдем к запуску. Мы должны будем подключиться через терминал по SSH протоколу на наш сервер.
Запускаем telegram бота с ChatGPT на VPS
Далее вам необходимо установить Docker на вашу ОС.
В начале статьи я уже оставил нужные уроки, по которым вам необходимо поставить Docker и Docker Compose. Ставятся они очень быстро без каких либо проблем.
- Установка Docker на Ubuntu 22.04
- Установка Docker Compose v2 на Ubuntu 22.04
Далее нам остается лишь последнее, сбилдить проект и запустить его, вводим следующую команду для установки нашего билда с ботом: docker compose build
После окончания прогресса создания билда, мы запускаем его с помощью следующей команды: docker compose up
Проверка работы telegram-бота на aiogram с ChatGPT в Docker контейнере на VPS
Теперь я напишу своему боту что-нибудь:
На этом всё. Мы быстро развернули проект пошагово в Docker контейнере и проверили его работу. Как видите, я специально вывел функцию print() моих сообщений боту, чтобы наглядно вам показать работу с ботом на сервере.
Загрузка категорий. ♂️
Добро пожаловать в Блог Разработчика Владислава Александровича.
Ведется медленная, но уверенная разработка функционала сайта.
Django Core: 0.3.4 / Next.js 1.0 / UPD: 25.05.2023
Источник: proghunter.ru