Go here to check what's ongoing and try the latest featues.
To be able to get going; that is docker pull, you need custom credentials. Contact us at www.beamylabs.com.
Clone this repository and make sure you have docker
and docker-compose
installed, then run:
NODE_NAME=$(scripts/resolve-ip.sh eth0) SIGNALBROKER_IP=$(scripts/resolve-ip.sh eth0) docker-compose -f docker-compose-full-system.yml up -d
On a generic setup
NODE_NAME
andSIGNALBROKER_IP
will likely be set to the same value.
$(scripts/resolve-ip.sh eth0)
assumes that the interface for your main ethernet connection is calledeth0
. If that's not the case, you need to changeeth0
to the correct name. (Hint you can can find your interface name usingifconfig
oripconfig
).
Some dated docker compose versions might show
ERROR: Invalid interpolation format for "command" option...
.If you can't upgrade your docker-compose you can fix this by manually adding the ip address in the docker-compose-full-system.yml like so:
command: ./grpcwebproxy --backend_addr=${SIGNALBROKER_IP:?Add SIGNALBROKER_IP to the .env file}:50051 ...
with your ip resulting in:
command: ./grpcwebproxy --backend_addr=192.x.x.x:50051 ...
manually.
Running the above
docker-compose
command only needs to be done once. It is persistant over system reboot, and will restart the containers upon reboot, over and over again.
Point your web browser at the machine running Beamybroker, an address like
http://192.0.2.42:8080/
. If you are connected to a hosted WLAN Access Point
like beamylabs
, the address should be http://192.168.4.1:8080/
.
BEWARE: if you change your your interface settings you must restart by do doing STOP/START
NODE_NAME=$(scripts/resolve-ip.sh eth0) SIGNALBROKER_IP=$(scripts/resolve-ip.sh eth0) docker-compose -f docker-compose-full-system.yml down
When you upgrade; remember to upgrade THIS repository as well
git pull
, as examples are continuously updated and improved. You will also find the latest pre-generated grpc files in this repository.
NODE_NAME=$(scripts/resolve-ip.sh eth0) SIGNALBROKER_IP=$(scripts/resolve-ip.sh eth0) ./upgrade.sh
git pull
Alternatively just pull the latest container manually:
NODE_NAME=$(scripts/resolve-ip.sh eth0) SIGNALBROKER_IP=$(scripts/resolve-ip.sh eth0) docker-compose -f docker-compose-full-system.yml pull
To pull a specific version you can specify custom tag for BEAMYBROKER_TAG
alternatively BEAMYWEBCLIENT_TAG
as in:
BEAMYBROKER_TAG=v0.0.7-4-g12 NODE_NAME=$(scripts/resolve-ip.sh eth0) SIGNALBROKER_IP=$(scripts/resolve-ip.sh eth0) docker-compose -f docker-compose-full-system.yml pull
The server is accesible using gRPC, which effectively means that you can access it with your language of choice. Stubs to access the server are generated by providing proto files which contains the api specification.
Pre generated files and samples are avaliable for a selection of languages. If you need another language you can get inspiration by how it's done for python here.
In order to understand usage of the product and it's enviroment it will try and send system information based on your interfaces.json and it's execution enviroment on start. The data is obfuscated and it is not distributed to any other party. Its sole purpose is the make the software better.
This is not mandatoy and can be disabled, however to keep us motivated we would please urge you not to disable this feature.