App management#
For details on how to login to the C7 smart camera via ssh remote terminal, please refer to Getting shell access.
App management is done via docker-compose. It is recommended to create an
individual folder per app in the home folder of the user (e.g.
/home/3dvl/appname). In this folder, a docker-compose.yaml file
is created. As an example, find below the docker-compose.yaml of the 3dvisionlabs viewer_app:
version: '3'
services:
backend:
image: 3dvl/ecm-viewer-backend:latest
volumes:
- ./record:/record
- ./config:/config
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
security_opt:
- "systempaths=unconfined"
frontend:
image: 3dvl/ecm-viewer-frontend:latest
ports:
- 8080:80
grpcwebproxy:
image: 3dvl/ecm-viewer-grpcwebproxy:latest
environment:
GRPC_BACKEND_ADDRESS: backend:54321
GRPCWEB_SERVER_PORT: 8096
filebrowser:
image: 3dvl/ecm-viewer-filebrowser:latest
volumes:
- ./record:/srv #Change to match your directory
environment:
- PUID=$(id -u)
- PGID=$(id -g)
Once, the docker-compose.yaml file is present, you can control the
docker environment via the following commands, executed in the directory of the
docker-compose.yaml file.
# start app (as background process, not attaching to output)
docker compose up -d
# show logs of compose containers / services
docker compose logs
# stop / clean app
docker compose down
# restart app
docker compose restart
The docker-compose.yaml file sets the docker options, including the restart policy of the app. For system services, which should automatically restart on error or reboot, see compose file documentation (external link).