b10cks is an API-first headless CMS for teams that model content as reusable blocks and deliver it through APIs. The repository contains the self-hosted CMS application, including the Laravel backend, Vue-based admin UI, content editing tools, asset handling, search integrations, and multi-tenant space management.
Hosted SaaS options are available separately:
- Website: www.b10cks.com
- Hosted app: app.b10cks.com
- Block-based content modeling: Define reusable, versioned blocks and compose them into content structures.
- Canvas editor: Visual tree editor with drag-and-drop, pan and zoom, keyboard support, and undo/redo history.
- Content versioning: Version history with selective publishing and scheduled publication.
- Release management: Group multiple content versions into a release and publish them atomically.
- Comments and reviews: Threaded comments on content items with resolution tracking and reactions.
- Full-text search: MySQL fulltext indexes by default, with OpenSearch support for larger or relevance-tuned deployments.
- Localization-aware filtering: Multi-language filtering and relevance scoring.
- Real-time collaboration: Presence tracking per space, content item, and canvas, including cursor positions.
- AI assistance: Multi-model integration for content generation, translation, meta tag generation, and canvas structuring, with streaming responses.
- Asset management: Hierarchical asset library with folders, tags, and bulk import/export.
- Image transformations: On-the-fly resize, crop, and smart-fit transformations via the built-in Ilum service, with WebP, AVIF, JPG, and PNG output.
- Internationalization: Content localization across multiple languages.
- REST API: API endpoints for integrating content into frontend applications and other services.
- Multi-tenant spaces: Isolated per-space databases with team and role management.
- Data sources: Structured dynamic data management with dimension support.
- Redirects: URL redirect management with hit tracking.
- Backups and migrations: Space backups and direct DB-to-DB space migration with configurable conflict resolution.
- Subscription billing: LemonSqueezy integration for plan-based subscriptions.
b10cks CMS uses the following main components:
- Backend: Laravel
- Admin UI: Vue.js-based interface with TanStack Query, Tailwind CSS, Shadcn UI, and Vue Router
- Database: PostgreSQL, MySQL, MariaDB, or SQLite
- Storage: Local filesystem, S3, or Google Cloud Storage
- Caching: Redis-supported caching and queues
- Real-time updates: Laravel Echo + Pusher for real-time updates and collaboration
- Search: MySQL fulltext or OpenSearch — configurable per space
- API: REST endpoints for content delivery and management workflows
- Node.js: Install Node.js version 20 or higher.
- Bun: Install Bun version 1.0 or higher.
- PHP: Install PHP version 8.4 or higher.
- Composer: Install Composer version 2.5 or higher.
- MySQL: Install MySQL version 8.0 or higher.
git clone https://github.com/b10cks/cms.git
cd cms
bun install
composer install
cp .env.example .env
php artisan key:generate
php artisan migrateStart the Laravel backend:
php artisan serveIn a second terminal, start the Vite development server for the Vue admin UI:
bun run devIn a third terminal, start Laravel Reverb for WebSocket-based real-time features:
php artisan reverb:startAll processes need to keep running while developing locally. The Laravel server handles the backend, bun run dev serves the frontend assets used by the admin UI, and Reverb powers real-time updates and collaboration.
- Redis: Install Redis version 6.0 or higher for caching and queues.
- OpenSearch: Install OpenSearch for advanced full-text search capabilities.
b10cks supports two search drivers. Set the driver per space in the admin UI or via the API:
mysql(default): Uses MySQLFULLTEXTindexes with natural language mode — no extra infrastructure needed.opensearch: Connects to an OpenSearch cluster for scalable, relevance-tuned search. Configure viaOPENSEARCH_HOST,OPENSEARCH_USERNAME,OPENSEARCH_PASSWORDin your.env.
After switching drivers, trigger a reindex from the space settings.
Deploy b10cks on your own infrastructure:
- AWS, Azure, Google Cloud
- Docker
- DigitalOcean, Linode, Vultr
- Any VPS provider
- Shared hosting with PHP 8.4+
Managed SaaS hosting is available for teams that do not want to operate the CMS themselves.
- Product website: www.b10cks.com
- Hosted application: app.b10cks.com
If you discover a security vulnerability within this project, please send an e-mail to security@b10cks.com. All security vulnerabilities will be promptly addressed.
See the Contributing Guide before opening a pull request.
- Fork the repository
- Create your feature branch:
git checkout -b feature/example - Commit your changes:
git commit -m 'Add example feature' - Push to the branch:
git push origin feature/example - Open a Pull Request
- Discord - Get help and share your knowledge
- GitHub Discussions - Feature requests and technical discussions
b10cks CMS is licensed under the GNU AGPLv3.
- Taylor Otwell and contributors for Laravel
- Evan You and contributors for Vue.js
- The open source community behind the libraries used by this project
Maintained by Michael Wallner
