Бесплатное развертывание: Render (Git Storage)
После публикации вчерашней статьи «Бесплатное развертывание (ClawCloud)» я протестировал платформу Render и обнаружил, что её бесплатный тарифный план не включает постоянное хранилище. Сообщив об этом автору CLIProxyAPI, он за ночь обновил версию, добавив функцию постоянного хранения через Git. Таким образом, мы можем сохранять файлы конфигурации и файлы аутентификации в приватном репозитории GitHub, не полагаясь на постоянное хранилище контейнерного облака.
Далее в этой статье вы найдете пошаговое руководство по развертыванию CLIProxyAPI в контейнерном сервисе без постоянного хранилища (таком как бесплатный тариф Render). Что касается части с OAuth-аутентификацией через EasyCLI, она полностью совпадает с развертыванием на ClawCloud, пожалуйста, обратитесь к предыдущей статье.
1. Подготовка GitHub
Сначала вам необходимо создать пустой репозиторий на GitHub. Имя репозитория может быть любым, но он обязательно должен быть установлен как private, иначе конфиденциальная информация, такая как добавленный вами API Key, будет раскрыта.

После создания репозитория запишите URL-адрес репозитория. Далее нажмите на личный аватар в правом верхнем углу страницы, перейдите в Settings, а затем нажмите Developer Settings в нижней части левого меню.

Затем последовательно нажмите Personal access tokens -> Fine-grained tokens, а после нажмите Generate new token в правом верхнем углу.
Заполните Token name, как показано на рисунке (можно настроить), выберите время истечения срока действия в соответствии с вашими потребностями (Expiration), выберите Only select repositories в разделе Repository access, а затем выберите пустой репозиторий, который мы только что создали.

Прокрутите страницу вниз, найдите Contents в Permissions -> Add permissions, добавьте его и измените права доступа с Read-only на Read and write.

Убедившись, что настройки разрешений верны, нажмите Generate token в нижней части страницы.

В этот момент сгенерированный Token будет отображен на странице. Обратите внимание, что этот Token будет показан только один раз. После закрытия страницы его нельзя будет просмотреть. Обязательно скопируйте и сохраните его надлежащим образом. 
На данный момент подготовительная работа для GitHub завершена.
2. Развертывание на Render
Сначала убедитесь, что вы зарегистрировали аккаунт Render. После входа в систему создайте новый проект и выберите New Web Service.

Выберите Existing Image в методе развертывания, введите eceasy/cli-proxy-api:latest в поле Image URL, а затем нажмите Connect.

Введите имя сервиса (Name, настраиваемое), выберите регион (Region, можно выбрать в соответствии с вашими предпочтениями) и убедитесь, что тип инстанса — Free.

Далее нам нужно добавить 4 переменные окружения:
GITSTORE_GIT_URL: Адрес вашего репозитория GitHubGITSTORE_GIT_USERNAME: Ваше имя пользователя GitHubGITSTORE_GIT_TOKEN: Personal Access Token, который вы только что создалиMANAGEMENT_PASSWORD: Пароль для входа в интерфейс управления
После ввода нажмите Deploy Web Service в нижней части страницы.

Дождитесь прокрутки лога развертывания. Когда статус изменится на Live, а в логе появится сообщение Available at your primary URL:XXXX, программа будет успешно запущена.

Используйте URL, предоставленный Render, и добавьте /management.html в конце, чтобы войти в WebUI. Введите установленный вами MANAGEMENT_PASSWORD для входа.

В это время, если вы снова проверите свой репозиторий GitHub, вы обнаружите, что в нем автоматически созданы две папки.
На данный момент процесс развертывания CLIProxyAPI на Render полностью завершен. Другие аналогичные облачные контейнерные платформы также могут быть развернуты этим методом, и вы можете изучить их самостоятельно.
3. Меры предосторожности
- CLIProxyAPI добавил эту функцию после v6.2.2. Если вы хотите указать версию образа, выбранная версия должна быть как минимум
eceasy/cli-proxy-api:v6.2.2. - После развертывания таким способом часть
remote-managementв конфигурационном файле больше не будет эффективна, а пароль управления будет основан на переменной окружения. Это означает, что если вы хотите изменить пароль управления, вам нужно напрямую изменить переменную окруженияMANAGEMENT_PASSWORD. - Использование GitHub для хранения конфигурационных файлов и файлов аутентификации не означает, что они могут использоваться совместно и вызываться в нескольких экземплярах контейнеров одновременно. Пожалуйста, обязательно избегайте этой ситуации во избежание конфликтов.
- Обратите внимание, что любые ручные изменения, внесенные непосредственно в GitHub репозиторий во время работы контейнера, будут недействительны. Если вам действительно необходимо внести изменения вручную, обязательно сначала остановите сервис контейнера.
- Рекомендуется использовать WebUI или EasyCLI для управления конфигурацией. Использование EasyCLI также позволяет выполнять удаленную аутентификацию OAuth. Для получения информации о конкретных методах, пожалуйста, обратитесь к соответствующему разделу в «Zero-Cost Deployment (ClawCloud)», упомянутому в начале этой статьи.