Goxisbuilder
Goxisbuilder is a powerful command-line tool designed to streamline the process of building Docker ACAP applications for Go developers.
Its main purpose is to build apps with goxis.
Install
go install github.com/Cacsjep/goxisbuilder@latest
Quick Start (New Project)
Creating a new project is very handy, it creates an application directory with all the necessary stuff inside. :)
goxisbuilder.exe -newapp
Building Applications
There are two ways of building apps with goxisbuilder:
- Inside an application directory
- Outside an application directory"
Inside a Applications Directory
Build command: goxisbuilder.exe
or on linux goxisbuilder
Directory/File Structure:
- myacap
- go.sum
- go.mod
- *.go (app.go or main.go does not matter)
- manifest.json
- LICENSE
[!NOTE]
After a successful build, a build directory with the corresponding .eap file is created.
Outside a Applications Directory
Build command: goxisbuilder.exe -appdir=<application-director>
or on linux goxisbuilder -appdir=<application-director>
Directory/File Structure:
- myproject
- go.sum
- go.mod
- myacap1
- *.go (It does not matter whether you use app.go or main.go.)
- manifest.json
- LICENSE
- myacap2
- *.go (It does not matter whether you use app.go or main.go.)
- manifest.json
- LICENSE
[!NOTE]
After a successful build, a build directory with the corresponding .eap file is created.
Start, Install, Watch
To install and start the ACAP application after building it, add the -install
and -start
flags. Also, specify the -ip <camera IP address>
and -pwd <camera root password>
flags.
If you are interested in viewing the syslog output of the ACAP application, add the -watch
flag. (Note: IP address and password are required.)
Additional ACAP/EAP Package files
When deploying ACAPs, such as those with machine learning models, it's necessary to bundle model files into the .eap package.
Simply use the -files
argument to specify which files goxisbuilder should bundle.
[!IMPORTANT]
These files need to be in the Application Directory.
Example
goxisbuilder.exe -files=ssd_mobilenet_v2_coco_quant_postprocess.tflite
Custom Dockerfile
To use your own Dockerfile, add the -dockerfile
flag and base it on the repository's Dockerfile.
Multiple Manifests
In case of multiple manifest files for an application, you can use the -manifest
flag to specify which manifest file to use for the build.
Usage
.\goxisbuilder.exe -h
Flag |
Description |
Default |
-h |
Displays this help message. |
|
-appdir |
The path to the application directory from which to build. |
"" |
-arch |
The architecture for the ACAP application: 'aarch64' or 'armv7hf'. |
"aarch64" |
-dockerfile |
Use your own dockerfile |
"" |
-files |
Files for adding to the acap eap package like larod models (filename1 filename2 directory) |
"" |
-install |
Set to true to install the application on the camera. |
false |
-ip |
The IP address of the camera where the EAP application is installed. |
"" |
-lowsdk |
Set to true to build with acap-sdk version 3.5 and ubunutu 20.04 |
false |
-manifest |
The path to the manifest file. Defaults to 'manifest.json'. |
"manifest.json" |
-newapp |
Generate a new goxis application |
false |
-prune |
Set to true execute 'docker system prune -f' after build. |
false |
-pwd |
The root password for the camera where the EAP application is installed. |
"" |
-start |
Set to true to start the application after installation. |
false |
-watch |
Set to true to monitor the package log after building. |
false |