You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

60 lines
1.7 KiB

services:
aitherboard:
container_name: aitherboard
build:
context: .
# Optional: override defaults from config.ts if needed
# Uncomment and modify if you want custom values:
# args:
# VITE_DEFAULT_RELAYS: "wss://theforest.nostr1.com,wss://nostr21.com,wss://nostr.land"
# VITE_THREAD_TIMEOUT_DAYS: "30"
ports:
- "9876:9876"
environment:
- PORT=9876
- NODE_ENV=production
- PIPER_TTS_HOST=piper-tts
- PIPER_TTS_PORT=10200
restart: unless-stopped
depends_on:
piper-tts:
condition: service_healthy
networks:
- aitherboard-network
piper-tts:
container_name: piper-tts
# Using official Wyoming Piper from source
# To build locally: git clone https://github.com/rhasspy/wyoming-piper.git wyoming-piper
# Then change build.context to ./wyoming-piper
build:
context: ./wyoming-piper
dockerfile: Dockerfile
# Port 10200 is only used internally by aitherboard container
# No need to expose it to the host
expose:
- "10200"
command:
# --voice is required at startup but can be overridden in synthesize messages
# This is the default/fallback voice
- --voice
- en_US-lessac-medium
- --uri
- tcp://0.0.0.0:10200
- --data-dir
- /data
volumes:
- ./piper-data:/data
restart: unless-stopped
networks:
- aitherboard-network
healthcheck:
test: ["CMD-SHELL", "timeout 3 bash -c 'echo > /dev/tcp/localhost/10200' || exit 1"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
networks:
aitherboard-network:
driver: bridge