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.
go install github.com/Cacsjep/goxisbuilder@latest
Creating a new project is very handy, it creates an application directory with all the necessary stuff inside. :)
goxisbuilder.exe -newapp
There are two ways of building apps with goxisbuilder:
- Inside an application directory
- Outside an application 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.
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
- myacap1
Note
After a successful build, a build directory with the corresponding .eap file is created.
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.)
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.
goxisbuilder.exe -files=ssd_mobilenet_v2_coco_quant_postprocess.tflite
To use your own Dockerfile, add the -dockerfile
flag and base it on the repository's Dockerfile.
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.
Files or directories can be excluded from being copied into the container by prefixing their names with an underscore.
.\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 |
-version |
Set to specifiy the sdk version for the ACAP image like, for example -version 1.12 | |
-watch |
Set to true to monitor the package log after building. | false |