PocketBase на своём сервере: бинарник или Docker, термины и чек-лист

Подробности, цифры, термины и чек-лист по теме «PocketBase на своём сервере: бинарник или Docker». Страница справочника целиком: PocketBase Docker на VPS.

Коротко о теме

PocketBase Docker и без него: один бинарник на SQLite, Dockerfile из документации, HTTPS командой serve с доменом, встроенные копии pb_data в S3.

Подробности по разделам

Что заменяет PocketBase и когда его хватает

Плата за простоту: всё живёт на одном сервере. Масштабировать PocketBase можно вверх, добавляя ядра и память, но не в стороны. Для прототипов, внутренних сервисов и мобильных приложений с умеренной нагрузкой этого хватает, для сложных систем с отдельными сервисами рассмотрите Supabase на PostgreSQL.

Сколько памяти нужно PocketBase на VPS

Если сервер ограничен по памяти или принимает большие файлы, документация PocketBase советует задать переменную GOMEMLIMIT, например 512MiB: сборщик мусора Go тогда запускается чаще, и процесс реже падает по нехватке памяти. Если этого мало, включите файл подкачки. Три ответа про проект, калькулятор подберёт конфигурацию

PocketBase в Docker: Dockerfile и том pb_data

Привязка 127.0.0.1 оставляет контейнер за прокси, наружу его открывает только Caddy или Nginx.

Домен и HTTPS для PocketBase

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

Копии и защита PocketBase: pb_data, S3 и ограничитель запросов

Для каталога больше 5 ГБ документация советует другой способ: sqlite3.backup вместе с rsync. Порядок хранения копий: сервер для бэкапов.

Ключевые цифры

Термины на странице

PostgreSQL
PostgreSQL это база данных для приложений с большими объёмами и сложными запросами.
S3
S3 это объектное хранилище файлов с доступом по API, совместимому с Amazon S3.
Nginx
Nginx это веб-сервер и обратный прокси. Его часто ставят перед приложением, чтобы раздавать статику и держать HTTPS.
PHP
PHP это язык, на котором работают WordPress, Битрикс и другие CMS. Версия PHP влияет на скорость и совместимость сайта.
Виртуальный хостинг
Виртуальный хостинг это место для сайта на общем сервере: обслуживание системы берёт на себя провайдер.
Let's Encrypt
Let's Encrypt выпускает бесплатные DV-сертификаты на 90 дней с автоматическим продлением.
Linux
Linux это семейство операционных систем для серверов: Ubuntu, Debian, AlmaLinux и другие.
SMTP
SMTP это протокол отправки писем.

Что проверить

  1. Выберите конфигурацию по памяти и диску под задачу, процессор обычно вторичен.
  2. Проверьте тип виртуализации: KVM даёт свою систему и гарантированные ресурсы.
  3. Уточните, входит ли IPv4 и сколько стоит трафик сверх пакета.
  4. Храните данные контейнеров в томах.
  5. Закрепляйте версии образов, а не latest.
  6. Ограничьте ресурсы контейнеров, чтобы один не съел весь сервер.

Связанные страницы