Развертывание с нулевыми затратами: HuggingFace (Хранилище базы данных)
В предыдущих статьях серии «Нет VPS?» мы обсуждали, как обеспечить сохранение конфигурации и информации об аутентификации для CLIProxyAPI с использованием локальных томов (ClawCloud), GitHub (Render) и бакетов объектного хранилища (Railway). В этой статье основное внимание будет уделено тому, как достичь той же цели с помощью базы данных PostgreSQL. Кроме того, учитывая, что механизм развертывания контейнеров в HuggingFace отличается от традиционных платформ, и некоторые пользователи хотят разобраться в процессе его развертывания, в этой статье он будет подробно описан.
В этом руководстве в качестве примера будет использоваться сервис PostgreSQL, предоставляемый Railway. Процесс использования других провайдеров баз данных аналогичен, и вы можете изучить его самостоятельно.
1. Подготовка базы данных PostgreSQL
Сначала войдите в свою учетную запись Railway, создайте новый экземпляр в рабочей области и выберите Database -> Add PostgreSQL

После создания инстанса нажмите, чтобы перейти на страницу управления базой данных, и нажмите Connect на вкладке Database

Пожалуйста, скопируйте и сохраните Connection URL на вкладке Public Network, который понадобится на следующих этапах

2. Развертывание на HuggingFace
Сначала перейдите к шаблону проекта CLIProxyAPI, который я подготовил заранее, а затем, как показано на рисунке ниже, выберите Duplicate this Space в выпадающем меню, чтобы скопировать проект

На странице конфигурации следуйте инструкциям ниже:
- Измените Space name (если это ваш первый проект, изменять его не нужно)
- Установите Visibility в значение Public, чтобы обеспечить удаленный доступ к сервису после развертывания
- Введите пароль управления, который вы планируете использовать для WebUI, в поле
MANAGEMENT_PASSWORD - Вставьте скопированный ранее URL подключения к базе данных в поле
PGSTORE_DSN
После заполнения всей информации нажмите Duplicate Space
Дополнительное примечание: Причина, по которой две переменные окружения
MANAGEMENT_STATIC_PATHиPGSTORE_LOCAL_PATHдолжны быть установлены в/tmp, заключается в том, что механизм безопасности HuggingFace устанавливает для корневого каталога контейнера права только на чтение. С помощью этих двух переменных мы можем перенаправить путь к файлу кэша базы данных и статическим ресурсам страницы управления в доступный для записи каталог/tmp, обеспечивая тем самым нормальную работу программы.
Подождите немного, когда вы увидите в логе информацию, подобную следующей, это означает, что развертывание успешно завершено

В это время вы можете получить доступ к Web UI через https://<your-HuggingFace-username>-<project-name>.hf.space/management.html. Например, мой адрес доступа — https://hkfires-cliproxyapi.hf.space/management.html. Введите пароль управления, который вы ранее установили в переменных окружения, чтобы успешно войти в систему

На данный момент весь процесс развертывания завершен. Для последующего использования вы можете обратиться к разделу "Use EasyCLI for remote OAuth authentication" в руководстве "Zero-Cost Deployment (ClawCloud)".