saltylab-firmware/jetson/systemd/saltybot-social.service
sl-jetson a9b2242a2c feat(social): Orin dev environment — JetPack 6 + TRT conversion + systemd (#88)
- Dockerfile.social: social-bot container with faster-whisper, llama-cpp-python
  (CUDA), piper-tts, insightface, pyannote.audio, OpenWakeWord, pyaudio
- scripts/convert_models.sh: TRT FP16 conversion for SCRFD-10GF, ArcFace-R100,
  ECAPA-TDNN; CTranslate2 setup for Whisper; Piper voice download; benchmark suite
- config/asound.conf: ALSA USB mic (card1) + USB speaker (card2) config
- models/README.md: version-pinned model table, /models/ layout, perf targets
- systemd/: saltybot-social.service + saltybot.target + install_systemd.sh
- docker-compose.yml: saltybot-social service with GPU, audio device passthrough,
  NVMe volume mounts for /models and /social_db

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-02 08:08:57 -05:00

33 lines
926 B
Desktop File

[Unit]
Description=Saltybot Social-Bot Stack (speech + LLM + TTS + face recognition)
Documentation=https://gitea.vayrette.com/seb/saltylab-firmware
After=docker.service network-online.target sound.target
Requires=docker.service
PartOf=saltybot.target
[Service]
Type=simple
Restart=on-failure
RestartSec=10s
TimeoutStartSec=120s
TimeoutStopSec=30s
User=root
WorkingDirectory=/opt/saltybot/jetson
# Pull latest image before start (optional — comment out for air-gapped deploy)
ExecStartPre=-/usr/bin/docker compose -f docker-compose.yml pull saltybot-social
# Start only the social service (not the entire stack)
ExecStart=/usr/bin/docker compose -f docker-compose.yml up --no-recreate saltybot-social
ExecStop=/usr/bin/docker compose -f docker-compose.yml stop saltybot-social
# Logging
StandardOutput=journal
StandardError=journal
SyslogIdentifier=saltybot-social
[Install]
WantedBy=saltybot.target multi-user.target