PocketBase: бэкенд в одном файле для MVP и PWA и его подвохи
PocketBase собирает базу SQLite, вход пользователей, файлы, админку и API в один исполняемый файл под лицензией MIT. Разбираю, когда его хватает для MVP, PWA и личного кабинета, когда нет, что спросить у разработчика про бэкапы, правила доступа и обновления, и чем рискует заказчик из-за версии до 1.0 и одного автора.
Сделаю под ключ: разберу задачу, назову срок и цену. Чтобы начать, напишите в Telegram одной фразой.
Разработка сайтов и веб-приложений под ключЧто это и что я проверил
Обычно разработчик называет длинный список: база, авторизация, хранилище файлов, админка, API. PocketBase собирает всё это в один файл, он запускается командой ./pocketbase serve. Я сверил описание с репозиторием и документацией.
Подтверждено: репозиторий не в архиве, описание «Open Source realtime backend in 1 file», около 61 400 звёзд. Файл LICENSE содержит текст MIT с авторством Gani Georgiev, это свободная лицензия. Релиз v0.40.5 вышел 8 октября 2026, последняя активность в репозитории 14 октября.
В README есть предупреждение: full backward compatibility is not guaranteed before reaching v1.0.0. Документация добавляет: проект пока не рекомендован для критичных приложений, если вы не готовы читать список изменений и иногда вручную делать шаги миграции. Версии 1.0 пока нет, сейчас ветка 0.40.
Что умеет и как работает
Установка: скачать бинарник с GitHub, распаковать, запустить. По умолчанию он слушает порт 8090 на локальном адресе, при первом запуске выдаёт ссылку для создания администратора. Официального Docker-образа нет, документация даёт пример Dockerfile на Alpine, данные лежат в каталоге pb_data, его нужно вынести на постоянный том.
Вход: почта и пароль, одноразовый код на почту, OAuth2 и двухфакторная схема из двух разных способов. Список провайдеров в документации не приведён. В исходниках я нашёл Яндекс и VK, у VK в коде стоит пометка «@todo mark as deprecated». Telegram среди провайдеров не нашёл. Вход через Telegram в мини-приложении придётся дописывать самим, проверяйте на своей версии.
Файлы лежат на диске в pb_data/storage или в S3-совместимом хранилище. Лимит поля по умолчанию около 5 МБ, закрытые файлы отдаются по короткоживущему токену. Расширять можно двумя способами: на Go, тогда получится свой собственный бинарник, или JavaScript-хуками в папке pb_hooks. Движок там не Node.js: только модули CommonJS и нет таймеров.
Бэкапы встроены: раздел Settings, Backups в админке, копии на диск сервера или в S3. Документация отдельно предупреждает, что при большом каталоге данных (от 5 ГБ) нужна другая схема, например sqlite3 .backup плюс rsync.
Когда подходит и когда нет
Подходит: прототип, MVP, форма заявок с личным кабинетом, внутренний инструмент на 20-300 сотрудников, PWA с авторизацией и синхронизацией в реальном времени. О стоимости я писал в статье сколько стоит сделать MVP, про PWA есть отдельный туториал.
Условный пример с допущениями: 100 пользователей, 200 заявок в день, у каждой четвёртой фото 1 МБ. Записей около 400 КБ в день, за год порядка 150 МБ. Фото 50 МБ в день, около 18 ГБ в год. Одновременных записей почти нет, узкое место тут файлы и бэкапы.
Не подходит: высокая нагрузка с большим потоком записей, тяжёлые отчёты по миллионам строк, жёсткие требования к отказоустойчивости. SQLite в режиме WAL, как пишет его документация, допускает только одного пишущего одновременно. Из FAQ PocketBase: масштабируется только вертикально, на одном сервере, а для репликации и аварийного восстановления предлагается отдельная программа Litestream. Репликации из коробки в описании нет. Если нужен PostgreSQL, посмотрите Supabase на своём сервере.
Персональные данные и свой сервер
База с заявками лежит там, где вы разместили сервер. Часть 5 статьи 18 закона 152-ФЗ касается размещения баз данных граждан РФ на территории России, актуальную редакцию сверяйте по тексту закона, я её не сверял. Подробнее в статье про локализацию баз данных.
Сервер в России закон за вас не выполняет: остаются согласия, политика обработки, доступы и защита сервера. Штрафы не называю, статья не заменяет юриста.
Чек-лист вопросов разработчику
- Где бэкапы? Копия на том же диске что и сервер не защитит от потери сервера. Нужна внешняя копия (S3 или другой сервер) и проверка восстановления. Про это ещё в статье про резервные копии.
- Какие правила доступа у каждой коллекции? У PocketBase пять правил: список, просмотр, создание, изменение, удаление. Значение null закрывает действие для всех, кроме суперпользователя, это значение по умолчанию. Пустая строка открывает его вообще всем, в том числе гостям. Частая ошибка: поставили пустое правило «чтобы заработало» и забыли.
- Как обновляем? Версию закрепить, перед обновлением читать список изменений и прогонять на копии. В v0.40.5 разработчики отдельно советуют обновиться из-за исправления в net/http, связанного с отказом в обслуживании.
- Кто защищает админку? Документация рекомендует ограничить вход суперпользователя по IP, включить лимит запросов и настроить SMTP: встроенный sendmail для боевого режима не годится.
- Что на сервере? Минимальных требований документация не называет. FAQ упоминает VPS за 4 доллара (2 vCPU, 4 ГБ) и 10 000 постоянных соединений без оптимизаций. Это заявка автора, не гарантия.
- Как выйти, если проект остановится? Данные лежат в обычном файле SQLite, их можно открыть и перенести. Хуки и правила придётся переписывать.
Зависимость от одного автора
По данным GitHub, автор подавляющего большинства коммитов один: ganigeorgiev, более 2500 вкладов, у следующего контрибьютора пять. В правилах для контрибьюторов сказано, что запросы на слияние пока принимаются только от коллабораторов. В FAQ написано, что обещаний по сопровождению и поддержке нет и сроков по планам тоже нет. Проект живой, но держится на одном человеке и не на компании с контрактом.
Для заказчика это значит: заложите время на возможную смену бэкенда. Обсудите с разработчиком план выхода до запуска.
Что можно сделать уже сейчас
Прототип за выходные. Поднять PocketBase на тестовом сервере и описать коллекции под ваши заявки.
Проверить правила доступа. Если у вас уже есть приложение на PocketBase, откройте коллекции в админке и посмотрите, нет ли пустых правил там, где данные не публичные.
Проверить бэкапы. Скачайте последнюю копию и разверните её на отдельной машине. Не получилось, значит, бэкапа нет.
Если нужна помощь, я возьму разработку под ключ в рамках веб-разработки: выбор стека, развёртывание на вашем сервере, правила доступа, бэкапы, обновления.
Частые вопросы
Можно ли на PocketBase сделать боевой личный кабинет?
Можно, если устраивает один сервер и вы готовы обновлять версии по списку изменений. Для критичных систем документация проекта пока такое не рекомендует.
Нужен ли отдельный сервер баз данных?
Нет, SQLite встроена в тот же процесс, данные лежат в каталоге pb_data.
Что делать, если нужен вход через Telegram?
Готового провайдера Telegram я не нашёл. Проверку входа придётся писать кодом на Go или в JS-хуках.
Коротко о главном
PocketBase под лицензией MIT закрывает типовой бэкенд для MVP и PWA одним файлом: база, вход, файлы, админка, API. Оговорки: версия до 1.0, один автор, одна запись за раз в SQLite, бэкапы и правила доступа требуют отдельной работы.
Если хотите, чтобы я оценил вашу задачу и сказал, хватит ли PocketBase или нужен другой стек, напишите мне в Telegram кодовое слово «БЭКЕНД», пришлю список вопросов для вашего разработчика.
Ещё open-source для бизнеса
Эта статья — часть каталога бесплатных решений, которые я разворачиваю на вашем сервере под ключ: CRM, аналитика, документы, почта, безопасность, магазины, AI.
Что я делаю для бизнеса
Напишите одной фразой, что нужно. Отвечу, что подойдёт, сколько займёт и сколько стоит. Сообщение уже подготовлено.
- Боты в Telegram, MAX, VK
- Автоматизация процессов и CRM
- Аналитика и дашборды
- Сайты и лендинги под ключ
Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.


