A self-hosted IoT server: devices, connectors, automations and a JSON:API + Vue admin interface, in one PHP application.
MiniServer is a standalone application built on the FastyBird IoT extension set, developed on top of the Nette and Symfony frameworks. It integrates third-party device ecosystems (Shelly, Tuya, Sonoff, Viera, NsPanel, Zigbee2Mqtt, Modbus, generic MQTT, virtual devices) and Apple HomeKit, behind a JSON:API backend and a Vue 3 admin UI served from the same entry point.
PHP 8.4, Node 24, pnpm 10, MariaDB. Redis, CouchDB and RabbitMQ are optional -- see docs/configuration.md.
docker compose -f docker/prod/docker-compose.yml up -dThis builds docker/prod/Dockerfile, starts the application and a MariaDB database, and runs pending migrations on first start. See docs/deployment.md for the full process layout (nginx, php-fpm, the WebSocket server and the devices-module exchange worker under supervisord), for the required SECURITY_SIGNATURE, and for the pre-built image at ghcr.io/fastybird/miniserver.
composer install --no-dev --prefer-dist --classmap-authoritative
pnpm install --frozen-lockfile && pnpm buildThen create the schema and any module-specific data:
php bin/fb-console.php migrations:migrate --no-interaction --allow-no-migration
php bin/fb-console.php fb:devices-module:install
php bin/fb-console.php fb:accounts-module:installPoint a web server at public/, or run the built-in ReactPHP server for local use:
php bin/fb-console.php fb:web-server:start- docs/architecture.md -- extension inventory, request routing, config load order
- docs/configuration.md -- enabling the extensions that ship in the tree but are not wired by default
- docs/deployment.md -- Docker images, supervisor processes, production defaults
Use the issue tracker for bugs, or mail us for ideas that can improve the project.
For release info check the release page.
|
Adam Kadlec |
Homepage https://www.fastybird.com and repository https://github.com/FastyBird/miniserver.
