clarion-app / clarion-setup
Requires
- clarion-app/eloquent-multichain-bridge: dev-main
- clarion-app/llm-client: dev-main
- dedoc/scramble: dev-main
- laravel/passport: ^12.2
- pusher/pusher-php-server: ^7.2
- spatie/laravel-permission: ^6.0@dev
This package is auto-updated.
Last update: 2025-05-23 05:57:15 UTC
README
This is a Laravel package providing APIs and services for Clarion, a decentralized platform for managing your data and applications.
Features
- OAuth2 authentication with Laravel Passport
- Clarion network management: create/join networks
- Composer, NPM, and app package installation/uninstallation
Requirements
- PHP >= 8.0
- Laravel >= 12.x
- Composer
- MariaDB or PostgreSQL
- Node.js and NPM (for frontend asset compilation)
Installation
-
Require the package via Composer:
composer require clarion-app/backend
-
Publish the configuration file:
php artisan vendor:publish --provider="ClarionApp\Backend\ClarionBackendServiceProvider" --tag="clarion-config"
-
Add the following to your
.env
file:FRONTEND_URL=https://your-frontend-url.example.com
-
Run database migrations:
php artisan migrate
-
Install Laravel Passport:
php artisan passport:install
Configuration
After publishing, the configuration can be found in config/clarion.php
:
return [ 'node_id' => env('CLARION_NODE_ID'), 'frontend_url' => env('FRONTEND_URL'), ];
node_id
: Unique UUID for this Clarion nodefrontend_url
: URL of the Clarion frontend for device presentation
Usage
Artisan Commands
php artisan clarion:setup-node-id
— Generate and set node ID
API Endpoints
See src/Routes.php
for the full list. Key endpoints include:
GET /Description.xml
— UPnP device descriptorPOST /api/clarion/system/network/create
— Create a new Clarion networkPOST /api/clarion/system/network/join
— Join an existing networkPOST /api/clarion/system/composer/install
— Install a Composer packagePOST /api/clarion/network/join
— Join a peer networkGET /api/clarion/network/local_nodes
— List local nodesGET /api/clarion/network/requests
— List network join requestsGET /api/docs/packages
— Retrieve API package documentation
Scheduling
A Clarion node discovery job runs every five seconds when the queue worker is active. Start your queue worker with:
php artisan queue:work --queue=default
Contributing
Contributions are welcome! Please submit issues and pull requests via GitHub.
License
This project is licensed under the MIT License.
Author
Tim Schwartz (tim@metaverse.systems)