PocketBase (포켓베이스)
SQLite·인증·파일·realtime·Admin UI·REST API를 하나의 Go 실행 파일에 묶은 single-node 백엔드
PocketBase (포켓베이스)은(는) 로컬, 자동화 서버에서 자동화 흐름을 설계하고 운영하는 데 도움이 되는 자동화 프레임워크입니다. 문서가 어느 정도 갖춰져 있고 유지 신호도 보여서 스타 58090개와 외부 언급 6개를 함께 보면 먼저 살펴볼 만합니다.
환경
좋은 용도
설치
릴리스 페이지에서 실행 파일을 내려받아 `./pocketbase serve` 명령으로 띄우거나, Go 프로젝트에 라이브러리로 embed해서 씁니다. 별도 런타임 의존성 없이 단일 바이너리로 동작해요.
사용 예시
실행 파일을 내려받아 serve로 띄우면 Admin 화면(`http://127.0.0.1:8090/_/`)에서 collection, 로그인 규칙, 파일 규칙을 바로 만들 수 있어요. 프런트엔드에서는 REST에 가까운 API나 realtime subscription으로 데이터를 읽고 씁니다.
연동 방식
Go 앱에 `github.com/pocketbase/pocketbase`를 import해서 `app.OnRecordAfterCreateRequest` 같은 hook과 커스텀 route, migration을 코드로 붙이면 자체 백엔드로 확장할 수 있어요. 이때는 SQLite 파일 백업과 배포 절차를 팀이 직접 맡게 됩니다.
연결
관련 뉴스
별칭
리뷰
PocketBase는 SQLite, 로그인, 파일, realtime 알림, Admin 화면, REST에 가까운 API를 하나의 Go 실행 파일에 묶은 백엔드예요. 인증·파일·Admin UI를 따로 조합하지 않아도 되니까, 작은 팀이 백엔드 구성에 쓰는 시간을 크게 줄여 줍니다.
그래서 첫 판단은 “오늘 내부툴을 빨리 띄울 것인가, 아니면 오래 운영할 제품의 백업·복구·확장 절차까지 필요한가”예요. 내부 admin, 작은 MVP, 팀 내부 CRUD 도구처럼 한 서버로 충분한 서비스라면 잘 맞고, Supabase 같은 관리형 백엔드까지는 필요 없을 때 특히 유용해요.
반대로 여러 지역 배포, 자동 failover, 관리형 backup, 엄격한 권한 감사가 필요하면 single-node 구조는 한계가 됩니다. 이럴 땐 처음부터 관리형 백엔드나 별도 구조를 보는 편이 나아요.
사용 예시
실행 파일을 내려받아 serve 명령으로 띄우면 Admin 화면에서 collection, 로그인, 파일 규칙을 바로 만들 수 있어요. SQLite 파일을 데이터 저장소로 쓰고, 작은 협업툴이나 dashboard에 필요한 realtime 알림도 제공합니다.
더 나아가 Go 앱에 embed하면 hook, route, migration을 코드로 확장할 수 있어요. 이때는 runtime 배포와 백업 절차도 팀이 맡게 되니, 확장 범위를 정할 때 운영 책임까지 함께 그려 두는 게 좋아요.
확인할 점
먼저 볼 건 버전 업그레이드와 데이터 복구예요. SQLite 파일 백업, migration rehearsal, restore test를 배포 절차에 넣지 않으면 작은 서비스라도 장애 복구가 어려워집니다.
v1.0.0 전 호환성 경고는 무시할 수 있는 문구가 아니에요. 장기 운영 제품이면 release note와 migration guide를 배포 전 체크리스트에 넣어야 합니다. stars 58,090에 유지보수도 활발하지만, 이 숫자가 운영 책임까지 대신해 주지는 않아요.