Skip to content

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).