39 lines
1.7 KiB
YAML
39 lines
1.7 KiB
YAML
# Standalone compose for Package 1 (Basic Communication).
|
|
# Prereq: build the base image first:
|
|
# docker build -f sanad-base/Dockerfile -t sanad-base:latest ..
|
|
# Then from Packages/:
|
|
# docker compose -f Sanad_Package_1/docker-compose.p1.yml up --build
|
|
#
|
|
# (The top-level Packages/docker-compose.yml wires this under the `p1` profile.)
|
|
services:
|
|
p1:
|
|
build:
|
|
context: .. # = Project/Packages
|
|
dockerfile: Sanad_Package_1/Dockerfile
|
|
args:
|
|
BASE_IMAGE: sanad-base:latest
|
|
image: sanad-p1:latest
|
|
container_name: sanad-p1
|
|
# Host networking is REQUIRED — the G1 DDS link + Gemini cloud + chest audio.
|
|
network_mode: host
|
|
restart: on-failure
|
|
environment:
|
|
SANAD_PACKAGE: P1
|
|
SANAD_DASHBOARD_PORT: "8011"
|
|
SANAD_DASHBOARD_HOST: "0.0.0.0"
|
|
SANAD_VOICE_BRAIN: gemini
|
|
SANAD_AUDIO_PROFILE: "${SANAD_AUDIO_PROFILE:-builtin}" # builtin (chest) | plugged (USB/Anker)
|
|
SANAD_DDS_INTERFACE: "${SANAD_DDS_INTERFACE:-eth0}"
|
|
SANAD_LICENSE: /etc/sanad/sanad.lic
|
|
SANAD_PUBKEY: /etc/sanad/pubkey.ed25519
|
|
SANAD_LICENSE_BIND: "${SANAD_LICENSE_BIND:-0}"
|
|
# SANAD_LANGUAGE overrides the license `language` feature if set:
|
|
SANAD_LANGUAGE: "${SANAD_LANGUAGE:-}"
|
|
devices:
|
|
- "/dev/snd:/dev/snd" # USB/plugged audio (Anker) via ALSA/Pulse
|
|
volumes:
|
|
- "${SANAD_LICENSE_FILE:-./licensing/sanad.lic.example}:/etc/sanad/sanad.lic:ro"
|
|
- "../Sanad/data:/app/Sanad/data" # faces/recordings/state persist on host
|
|
# Optional chest-audio over DDS — mount the vendored SDK if using 'builtin':
|
|
# - "${UNITREE_SDK_DIR:-/home/unitree/unitree_sdk2_python}:/opt/unitree_sdk2_python:ro"
|