1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-baserow

Клонировать/Скачать
install-on-digital-ocean.md 13 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 26.06.2025 16:02 92285f5

Установка на Digital Ocean Apps

Этот гайд поможет вам развернуть приложение на платформе Digital Ocean Apps. Это пошаговое руководство, которое поможет вам установить Baserow с нуля в масштабируемом виде.

Создание управляемой базы данных

Платформа приложений не поддерживает тома и предлагает горизонтальное масштабирование. Это означает, что запущенное приложение будет бессостоятельным. Поэтому нам нужно создать управляемую PostgreSQL, управляемую Redis и объектное хранилище Spaces для хранения всех данных. Поскольку приложение зависит от этих ресурсов, мы должны создать их в первую очередь.

Управляемая PostgreSQL

Перейдите на страницу Databases в левой боковой панели вашего панели управления Digital Ocean. Нажмите на Create Database в правом верхнем углу. Выберите ваш регион, важно, чтобы все создаваемые серверы находились в одном регионе, выберите PostgreSQL v15 и выберите спецификации сервера, которые вы хотите иметь. Baserow совместим с 1vCPU и 1 ГБ RAM.

Пока сервер базы данных создается, вы уже можете найти Connection Details на странице деталей базы данных. Нажмите на выпадающее меню в правом верхнем углу и переключитесь на Connection String. Скопируйте эту строку, так как она вам понадобится позже.

Управляемая Redis

Перейдите на страницу Databases в левой боковой панели вашего панели управления Digital Ocean. Нажмите на Create Database в правом верхнем углу. Выберите ваш регион, важно, чтобы все создаваемые серверы находились в одном регионе, выберите Redis v7 и выберите спецификации сервера, которые вы хотите иметь. Baserow совместим с 1vCPU и 1 ГБ RAM.

Пока сервер базы данных создается, вы уже можете найти Connection Details на странице деталей базы данных. Нажмите на выпадающее меню в правом верхнем углу и переключитесь на Connection String. Скопируйте эту строку, так как она вам понадобится позже.

Объектное хранилище Spaces

Перейдите на страницу Spaces Object Storage в левой боковой панели вашего панели управления Digital Ocean. Нажмите на Create Spaces Bucket. Выберите ваш регион, важно, чтобы бакет был создан в том же регионе, и создайте бакет.

Перейдите на страницу API в левой боковой панели, нажмите на вкладку Spaces Keys, нажмите на Generate New Key и создайте новый ключ. Скопируйте Access Key и Secret key, так как они вам понадобятся позже.

Приложение

Перейдите на страницу Apps в левой боковой панели вашего панели управления Digital Ocean. Нажмите на Create App, выберите Docker Hub и заполните следующее:

Repository: baserow/baserow Image tag or digest: 1.33.4

Нажмите на Next, затем на кнопку Edit рядом с веб-сервисом baserow-baserow. Здесь вы должны изменить HTTP Port на 80, а затем нажать на Back. Нажмите на кнопку Next, а затем на Edit рядом с переменными окружения baserow-baserow. Добавьте следующие переменные окружения. Все, что находится в скобках, должно быть заменено.

Сгенерируйте уникальную секретную строку для SECRET_KEY и BASEROW_JWT_SIGNING_KEY. Это можно сделать, например, через https://djecrety.ir/.

SECRET_KEY=(сгенерируйте уникальную случайную строку)
BASEROW_JWT_SIGNING_KEY=(сгенерируйте уникальную случайную строку)
BASEROW_PUBLIC_URL=http://localhost
BASEROW_AMOUNT_OF_GUNICORN_WORKERS=2
BASEROW_AMOUNT_OF_WORKERS=2
DATABASE_URL=(YOUR_POSTGRESQL_CONNECTION_STRING)
REDIS_URL=(YOUR_REDIS_CONNECTION_STRING)
DISABLE_VOLUME_CHECK=yes
BASEROW_TRIGGER_SYNC_TEMPLATES_AFTER_MIGRATION=false

AWS_ACCESS_KEY_ID=(Spaces Access Key)
AWS_SECRET_ACCESS_KEY=(Spaces Secret key)
AWS_STORAGE_BUCKET_NAME=(название бакета)
AWS_S3_REGION_NAME=(регион Spaces, например ams3)
AWS_S3_ENDPOINT_URL=https://(регион).(digitaloceanspaces.com)
AWS_S3_CUSTOM_DOMAIN=(название-вашего-бакета).(регион).(digitaloceanspaces.com)
DOWNLOAD_FILE_VIA_XHR=1

Не забудьте нажать кнопку Save, а затем нажмите Next и снова Next, пока не дойдете до раздела Review. Прокрутите вниз до конца и нажмите на Edit Plan. Здесь вы можете выбрать размер экземпляра. Минимально требуется 1 vCPU и 2 ГБ RAM для одного контейнера. Вы можете масштабировать его позже. Нажмите на Back и затем на Create Resources.

Безопасность

Чтобы обеспечить безопасность ваших серверов PostgreSQL и Redis, перейдите на их страницы деталей, нажмите Settings, затем нажмите на Edit рядом с Trusted Sources и добавьте новое приложение.

Изменение домена

Вернитесь к Settings нового приложения и дождитесь завершения развертывания. После этого автоматически будет добавлен домен/URL, который станет виден в настройках. Скопируйте этот URL, перейдите в настройки компонента baserow-baserow, отредактируйте переменные окружения и установите BASEROW_PUBLIC_URL в (скопированный URL), затем нажмите кнопку сохранения. Обратите внимание, что URL не должен заканчиваться слешем, поэтому он должен выглядеть как https://baserow.io, а не https://baserow.io/.

Шаблоны

Шаблоны не установлены, так как это приведет к ошибке out of shared memory на самом дешевом плане управляемой базы данных. Если вы хотите включить их, установите переменную окружения BASEROW_TRIGGER_SYNC_TEMPLATES_AFTER_MIGRATION в значение true.

Spaces

Чтобы кнопка загрузки работала в Baserow, вам нужно настроить параметры CORS в Spaces. Перейдите в созданный бакет, перейдите на вкладку Settings, нажмите на Add рядом с CORS Configurations и добавьте URL нового приложения без завершающего слеша, то есть он не должен заканчиваться /. Выберите методы GET, HEAD и OPTIONS, а затем нажмите Save CORS Configuration.

Завершение

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

Обновление версии

Чтобы обновить версию Baserow, просто замените тег образа. Перейдите на страницу Settings вашего созданного приложения, нажмите на компонент baserow-baserow, затем нажмите на кнопку Edit рядом с источником, измените тег образа на желаемую версию (последняя версия — 1.33.4) и нажмите сохранить. Приложение будет переразвернуто с последней версией.

Внешний почтовый сервер

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

EMAIL_SMTP=True
EMAIL_SMTP_HOST=
EMAIL_SMTP_PORT=
EMAIL_SMTP_USER=
EMAIL_SMTP_PASSWORD=
EMAIL_SMTP_USE_TLS=

Домены конструктора приложений

Baserow имеет конструктор приложений, который позволяет развернуть приложение на конкретном домене. Поскольку Digital Ocean имеет обратный прокси, который маршрутизирует домен к правильному приложению, развернутое приложение не становится автоматически доступным на выбранном домене.

Чтобы это работало, перейдите в раздел Settings приложения и нажмите на кнопку Edit рядом с доменом. Здесь вы можете добавить дополнительные домены, которые будут маршрутизированы к вашему опубликованному домену конструктора приложений.

Масштабирование

Контейнеры

Если вы планируете использовать Baserow с большим количеством одновременных пользователей, большими схемами баз данных или большим количеством API-запросов в секунду, вы столкнетесь с ограничениями текущей конфигурации и вам нужно будет масштабировать ее. С помощью существующих переменных окружения вы можете легко масштабировать количество контейнеров, если у них 1vCPU и 2 ГБ RAM.

Если вы решите увеличить размер экземпляра, вам также нужно будет изменить некоторые переменные окружения для максимальной эффективности.

  • 4 ГБ RAM:
    • BASEROW_AMOUNT_OF_GUNICORN_WORKERS=5
    • BASEROW_AMOUNT_OF_WORKERS=4
  • 8 ГБ RAM:
    • BASEROW_AMOUNT_OF_GUNICORN_WORKERS=10
    • BASEROW_AMOUNT_OF_WORKERS=8
  • 16 ГБ RAM:
    • BASEROW_AMOUNT_OF_GUNICORN_WORKERS=20
    • BASEROW_AMOUNT_OF_WORKERS=16

Каждое значение (gunicorn workers * количество экземпляров) — это количество одновременных API-запросов, которые может обрабатывать ваша конфигурация.

PostgreSQL и Redis

Если вы планируете увеличить количество контейнеров или gunicorn workers, убедитесь, что ваши серверы PostgreSQL и Redis могут обрабатывать такое количество запросов. Ориентировочное правило:

необходимое количество соединений =
    (
        (BASEROW_AMOUNT_OF_GUNICORN_WORKERS * 2)
        + (BASEROW_AMOUNT_OF_WORKERS * 2)
    ) * количество контейнеров
    + соединения сервисов

Итак, если у вас есть 2 контейнера по 8 ГБ RAM, вам потребуется как минимум: ((10 * 2) + (8 * 2)) * 2 + 5 = 77 соединений.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-baserow.git
git@api.gitlife.ru:oschina-mirror/mirrors-baserow.git
oschina-mirror
mirrors-baserow
mirrors-baserow
develop