https://github.com/klutchell/balena-shinobi
shinobi stack for balenaCloud
https://github.com/klutchell/balena-shinobi
Last synced: 4 months ago
JSON representation
shinobi stack for balenaCloud
- Host: GitHub
- URL: https://github.com/klutchell/balena-shinobi
- Owner: klutchell
- Created: 2020-03-02T00:42:25.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2021-08-14T11:46:36.000Z (almost 5 years ago)
- Last Synced: 2025-11-02T14:38:05.958Z (8 months ago)
- Language: Dockerfile
- Size: 90.8 KB
- Stars: 1
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# balena-shinobi 
Shinobi CCTV stack for NVIDIA Jetson Nano with balenaCloud
## Requirements
- NVIDIA Jetson Nano development board
- Optional external USB drive for video storage
## Getting Started
You can one-click-deploy this project to balena using the button below:
[](https://dashboard.balena-cloud.com/deploy?repoUrl=https://github.com/klutchell/balena-shinobi&defaultDeviceType=jetson-nano)
## Manual Deployment
Alternatively, deployment can be carried out by manually creating a [balenaCloud account](https://dashboard.balena-cloud.com) and application, flashing a device, downloading the project and pushing it via either Git or the [balena CLI](https://github.com/balena-io/balena-cli).
### Application Environment Variables
Application envionment variables apply to all services within the application, and can be applied fleet-wide to apply to multiple devices.
|Name|Example|Purpose|
|---|---|---|
|`MYSQL_ROOT_PASSWORD`|`********`|(required) password that will be set for the MariaDB root account|
|`ADMIN_EMAIL`|`admin@shinobi.video`|(optional) email that will be set for the Shinobi superuser account|
|`ADMIN_PASSWORD`|`admin`|(optional) password that will be hashed and set for the Shinobi superuser account|
|`TZ`|`America/Toronto`|(optional) inform services of the [timezone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) in your location|
## Usage
Log in as superuser to create your first user account. The default credentials are in your device logs.
Then log in to the dashboard and start adding monitors (cameras).
## Development
```bash
# cross build for aarch64 on an amd64 or i386 workstation with Docker
export DOCKER_CLI_EXPERIMENTAL=enabled
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker buildx create --use --driver docker-container
docker buildx build . --platform linux/arm64 --load --progress plain -t shinobi
# review which ffmpeg features were included
docker run --rm -it --entrypoint ldd shinobi /usr/bin/ffmpeg
docker run --rm -it --entrypoint ffmpeg shinobi -hwaccels
docker run --rm -it --entrypoint ffmpeg shinobi -encoders | grep 264
docker run --rm -it --entrypoint ffmpeg shinobi -decoders | grep 264
# dump the flags being passed to ffmpeg (while connected to running container)
ps -eo args | grep ffmpeg | head -n -1
```
## Contributing
Please open an issue or submit a pull request with any features, fixes, or changes.
## Acknowledgments
-
-