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 migrate
php artisan serve- 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
