PocketCMS is an open source content management system leveraging PocketBase as its foundation. PocketCMS offers:
- a user-facing CMS admin portal alongside PocketBase's admin UI
- using PocketBase's client-side SDKs within your application for fetching data from PocketCMS
PocketCMS's mission is to bring the simplicity of PocketBase's developer experience and admin interface to less tech-savvy users who only need to focus on managing website content.
By installing PocketCMS, you are essentially also installing PocketBase with some additional features and plus another embedded single-page-application acting as the CMS admin portal. The instructions for deploying are therefore very similar to PocketBase's.
To run as a standalone application, download the prebuilt executable from the Releases page. Once downloaded, extract the archive and run ./pocketcms serve
in the extracted directory.
From there, PocketBase will run in its usual path of localhost:8090/_/
and PocketCMS will run at localhost:8090/cms/
. Before using PocketCMS, some initial collection and user setup is required.
- log in to pocketbase at
localhost:8090/_/
- visit pocketcms at
localhost:8090/cms/
and create your first user - voila!
Now that you are set up, any collections you create inside PocketBase prefixed with
pcms_
and with api rules not set to admin only, those collections will be
available in PocketCMS.
To fetch from these collections, you can use the PocketBase client-side SDKs just as you would any other PocketBase collection! For more information on fetching data from PokcetCMS/PocketBase, see PocketBase's documentation.
Feel free to raise issues and PRs! Any suggestions are welcome.
- Clone the repo
- run
go mod tidy
go run main.go serve
- Run pocketcms like above
- in another terminal, open the
ui/
dir and run:
pnpm run dev
which should spin up vite at localhost:3000
. This will give you all the HMR goodness.