Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
433 commits
Select commit Hold shift + click to select a range
b06eb43
update info on .env.template
AnkushMalaker Jul 15, 2025
c905039
remove failure receovery deadcode
AnkushMalaker Jul 15, 2025
3895e77
remove more deadcode
AnkushMalaker Jul 15, 2025
d72be99
review fixes
AnkushMalaker Jul 15, 2025
06c653c
remove tests
AnkushMalaker Jul 15, 2025
b65a561
Memory hardening (#27)
AnkushMalaker Jul 15, 2025
06d66f0
Merge branch 'main' into memory-hardening
AnkushMalaker Jul 15, 2025
58f081f
Merge 22 (#28)
AnkushMalaker Jul 15, 2025
5cbf897
remove action items
AnkushMalaker Jul 15, 2025
3eef7c0
move backends
AnkushMalaker Jul 15, 2025
5bc93d9
large commit due to black, isort and pre-commit additions
AnkushMalaker Jul 16, 2025
7f94ffc
remove redundant node
AnkushMalaker Jul 16, 2025
6315a58
fix the compose file
AnkushMalaker Jul 16, 2025
c874882
rename folder
neooriginal Jul 16, 2025
217112c
rename folder (#30)
AnkushMalaker Jul 16, 2025
a0c3e24
update readme etc
neooriginal Jul 16, 2025
5bf181d
Merge branch 'main' into main
neooriginal Jul 16, 2025
12f39b9
update readme (#31)
neooriginal Jul 16, 2025
1b2660c
github actions
neooriginal Jul 16, 2025
9c9348e
Merge branch 'main' of https://github.com/neooriginal/friend-lite
neooriginal Jul 16, 2025
2920288
Merge branch 'AnkushMalaker:main' into main
neooriginal Jul 16, 2025
c6827bb
Merge pull request #32 from neooriginal/main
AnkushMalaker Jul 16, 2025
4ba5f44
Update android-apk-build.yml
neooriginal Jul 16, 2025
b94889b
Merge branch 'main' of https://github.com/neooriginal/friend-lite
neooriginal Jul 16, 2025
bab24b4
Update android-apk-build.yml
neooriginal Jul 16, 2025
786a52e
Some info about how much speech existed
AnkushMalaker Jul 16, 2025
30264ce
fix memory service
AnkushMalaker Jul 16, 2025
ce64b6f
check ci
AnkushMalaker Jul 16, 2025
3b5573d
Update eas.json
neooriginal Jul 16, 2025
8c27b06
test ci
AnkushMalaker Jul 16, 2025
d1715c5
permissions check
AnkushMalaker Jul 16, 2025
0a8d80d
Merge pull request #33 from neooriginal/main
AnkushMalaker Jul 16, 2025
5adbf98
guard build to push on main
AnkushMalaker Jul 16, 2025
1902b47
update app with auth changes
AnkushMalaker Jul 16, 2025
d808109
ignore secrects
AnkushMalaker Jul 17, 2025
5177f23
audio listener retry
AnkushMalaker Jul 16, 2025
fc8851e
only trigger app build workflowso n changes to app/**
AnkushMalaker Jul 17, 2025
f6ced5d
add test-audios to .gitignore
AnkushMalaker Jul 17, 2025
d5b5e5b
added a test audio
AnkushMalaker Jul 17, 2025
719c1ac
Update README.md
AnkushMalaker Jul 17, 2025
5af6d38
Update README.md
AnkushMalaker Jul 17, 2025
ff14839
Integration test (#36)
AnkushMalaker Jul 17, 2025
d45deb0
updates
AnkushMalaker Jul 18, 2025
a085a51
Crit fixes (#37)
AnkushMalaker Jul 20, 2025
24dfef9
fix couple bugs in backend (#38)
AnkushMalaker Jul 20, 2025
5436cee
Wyoming fix (#39)
AnkushMalaker Jul 21, 2025
8da05bc
fix build
AnkushMalaker Jul 21, 2025
f89eacc
Merge pull request #40 from AnkushMalaker/fix-cleartext-issue
AnkushMalaker Jul 21, 2025
68f283d
fix app with wyoming
AnkushMalaker Jul 21, 2025
18ee672
fix label
AnkushMalaker Jul 21, 2025
c7d5262
important fix
AnkushMalaker Jul 21, 2025
1c569b3
Removed duplicate memory processing
AnkushMalaker Jul 22, 2025
22fa9d4
fix api route
AnkushMalaker Jul 22, 2025
4814489
SO SOLID!!!
AnkushMalaker Jul 22, 2025
30ed2f3
further improvements!
AnkushMalaker Jul 22, 2025
1aca91f
more fixes? how is this possible?
AnkushMalaker Jul 22, 2025
ecaf4de
pre-final commit
AnkushMalaker Jul 22, 2025
74e0310
Merge pull request #42 from AnkushMalaker/fix-dupe-memory
AnkushMalaker Jul 22, 2025
85a2323
Merge pull request #43 from AnkushMalaker/solid-design
AnkushMalaker Jul 22, 2025
905dd1a
fix crucial timing bug
AnkushMalaker Jul 22, 2025
f625250
minor updates
AnkushMalaker Jul 22, 2025
fadce18
Fix critical missing tracking calls for processor
AnkushMalaker Jul 22, 2025
aa6e49b
Merge pull request #44 from AnkushMalaker/faster-tests
AnkushMalaker Jul 22, 2025
80d662a
Multi upload bugfix (#46)
AnkushMalaker Jul 23, 2025
afac409
Better speaker recognition (#47)
AnkushMalaker Jul 28, 2025
b4612fc
rename simple backend
AnkushMalaker Jul 31, 2025
3660f9a
rename simple backend
AnkushMalaker Jul 31, 2025
3d1dd28
move files
AnkushMalaker Jul 31, 2025
c44e63c
further refactor
AnkushMalaker Aug 1, 2025
9935c09
update more
AnkushMalaker Aug 1, 2025
85af521
update test
AnkushMalaker Aug 1, 2025
45e72ac
Dead Code Cleanup & Controller Pattern Refactoring (#48)
AnkushMalaker Aug 2, 2025
1e508b1
Merge all (#50)
AnkushMalaker Aug 2, 2025
47d017f
wip
AnkushMalaker Aug 3, 2025
06b52f8
update
AnkushMalaker Aug 3, 2025
3a77fe2
update
AnkushMalaker Aug 3, 2025
205ea49
update
AnkushMalaker Aug 3, 2025
625d144
update
AnkushMalaker Aug 3, 2025
171ff10
inference in inference
AnkushMalaker Aug 3, 2025
8910fec
inference update
AnkushMalaker Aug 3, 2025
c0098ef
fx
AnkushMalaker Aug 3, 2025
296ba40
update
AnkushMalaker Aug 3, 2025
568bcec
update
AnkushMalaker Aug 3, 2025
b612b1d
update
AnkushMalaker Aug 3, 2025
69e9cf7
see debug in inference page
AnkushMalaker Aug 4, 2025
a41369c
fix defaults
AnkushMalaker Aug 4, 2025
33175d6
use faiss properly
AnkushMalaker Aug 4, 2025
15aba59
update
AnkushMalaker Aug 4, 2025
5bd6578
working!
AnkushMalaker Aug 5, 2025
5fb1e93
Speaker recognition react (#52)
AnkushMalaker Aug 5, 2025
801237a
split monster file up
AnkushMalaker Aug 5, 2025
b2f056d
Merge main into infer-live - resolve conflicts preserving live infere…
AnkushMalaker Aug 5, 2025
954b1cf
Merge branch 'main' into faiss-use
AnkushMalaker Aug 5, 2025
5594773
refactorr
AnkushMalaker Aug 5, 2025
3bcd27a
rehaul
AnkushMalaker Aug 6, 2025
0560d0e
back merge for easier review (#55)
AnkushMalaker Aug 6, 2025
4390d43
Merge branch 'main' into service-refactor
AnkushMalaker Aug 6, 2025
dade54e
fix health check, fix webui
AnkushMalaker Aug 6, 2025
d7e74a4
fixie (#56)
AnkushMalaker Aug 12, 2025
b67161f
Advanced backend react (#57)
AnkushMalaker Aug 13, 2025
18a0611
Added configuration options for speaker recognitino (#58)
AnkushMalaker Aug 19, 2025
c8c46e7
Deepgram wrapper 2 (#62)
AnkushMalaker Aug 19, 2025
59a0c99
clean ruff memory
0xrushi Aug 20, 2025
1be8724
Fix/newuienvs 2 (#64)
AnkushMalaker Aug 22, 2025
f610da7
Fixed broken things (#65)
AnkushMalaker Aug 22, 2025
89ba045
notebooks and memory service
0xrushi Aug 23, 2025
55c2ead
Merge branch 'main' into fix/memoryservice
0xrushi Aug 23, 2025
cc4a761
readme changes
0xrushi Aug 23, 2025
4ac8e1d
notebook updates
0xrushi Aug 23, 2025
8b6f0b6
Merge branch 'fix/memoryservice' of github.com:0xrushi/friend-lite in…
0xrushi Aug 23, 2025
9362a94
update prompt fix
0xrushi Aug 24, 2025
6bb5c37
gpt4o
0xrushi Aug 24, 2025
cfa64be
new line
0xrushi Aug 24, 2025
3e42760
restore memory config
0xrushi Aug 24, 2025
db3dc86
restore memory config from main
0xrushi Aug 24, 2025
e865fc0
config update
0xrushi Aug 24, 2025
b3a70a1
make the langfuse port 3002, because tests run on 3001
0xrushi Aug 24, 2025
6a56986
port and template fix
0xrushi Aug 25, 2025
80c88aa
Add chat to backend and provide separate HTTPs config (#66)
AnkushMalaker Aug 25, 2025
214f712
Merge branch 'main' into 0xrushi-fix-memoryservice
AnkushMalaker Aug 25, 2025
d142fb5
surface errors and fix bug
AnkushMalaker Aug 25, 2025
af34621
fix test and init file
AnkushMalaker Aug 25, 2025
28cd818
bug fix
AnkushMalaker Aug 25, 2025
910ff81
fix tiny bug for offline asr
AnkushMalaker Aug 25, 2025
9a805d4
remove deadcode
AnkushMalaker Aug 25, 2025
907f7d8
add ssl gen script to init
AnkushMalaker Aug 25, 2025
c3ef6de
script run perms
AnkushMalaker Aug 25, 2025
939f5cb
fix ports and remove confusing double defaults
AnkushMalaker Aug 25, 2025
62f4a7d
open memory mcp
AnkushMalaker Aug 25, 2025
d2f8530
Add open memory integration in extras and advanced backend
AnkushMalaker Aug 25, 2025
68127e5
Added .env in docker compose, tweaked readme
thestumonkey Aug 26, 2025
aaf8ac6
update please fix this
AnkushMalaker Aug 26, 2025
ad63146
update
AnkushMalaker Aug 26, 2025
6fa6547
trigger review
AnkushMalaker Aug 26, 2025
10d6bda
proper end to end tests running
AnkushMalaker Aug 28, 2025
2146804
final test working?
AnkushMalaker Aug 28, 2025
41205d8
cleanup, comment out chat test
AnkushMalaker Aug 28, 2025
b2a51ba
fix final
AnkushMalaker Aug 28, 2025
b44b4cf
Merge pull request #69 from AnkushMalaker/openmemory-mcp
AnkushMalaker Aug 28, 2025
fb935ac
GPU debug
thestumonkey Aug 29, 2025
1eb24d9
ensure admin user available in speaker recognition
AnkushMalaker Aug 30, 2025
2125787
k8s nosync
thestumonkey Sep 2, 2025
a87bdd8
use relative urls for k8s ingress
thestumonkey Sep 3, 2025
8dcef61
k8s install
thestumonkey Sep 3, 2025
a5dc3de
backend connection status
thestumonkey Sep 3, 2025
2ee6ee2
parakeet and moonshine
thestumonkey Sep 3, 2025
02709bd
🔒 Remove hardcoded API keys and secrets from Helm chart
thestumonkey Sep 3, 2025
fde9cc8
https via cloudflare
thestumonkey Sep 3, 2025
23c8412
Delete backends/charts/advanced-backend/templates/env-configmap.yaml
thestumonkey Sep 4, 2025
4914d3b
updated extras k8s charts
thestumonkey Sep 4, 2025
c3b589b
removed hardcoded ingress
thestumonkey Sep 4, 2025
819d77b
Delete scripts/cleanup-all.sh
thestumonkey Sep 4, 2025
b490c84
using react_ui_host for external url
thestumonkey Sep 4, 2025
fa5bd80
exluded the generated config map
thestumonkey Sep 4, 2025
5248dba
"Claude PR Assistant workflow"
AnkushMalaker Sep 5, 2025
fb9a9a3
Merge pull request #78 from AnkushMalaker/add-claude-github-actions-1…
AnkushMalaker Sep 5, 2025
6129004
Better init system (#74)
AnkushMalaker Sep 5, 2025
e5509cb
speaker-recognition
thestumonkey Sep 5, 2025
8245712
Merge branch 'k8s-speaker' of https://github.com/thestumonkey/friend-…
thestumonkey Sep 5, 2025
4fa854e
Update scripts/generate-configmap.sh
thestumonkey Sep 5, 2025
eb285f2
Update scripts/generate-configmap.sh
thestumonkey Sep 5, 2025
ba1d935
Merge branch 'main' into k8s-speaker
thestumonkey Sep 5, 2025
62f5dc7
Add Foreground Service to keep WebSocket alive
Sep 6, 2025
8189860
Update package-lock for added Notifee dependency
Sep 6, 2025
b350c14
endpoint consolidation for speaker recognition
AnkushMalaker Sep 8, 2025
52fc248
test something
AnkushMalaker Sep 8, 2025
1895f93
show cli logs for test
AnkushMalaker Sep 8, 2025
9015da6
Merge pull request #81 from AnkushMalaker/test-something
AnkushMalaker Sep 8, 2025
5d40f58
Merge branch 'main' into diarization-source-consolidate
AnkushMalaker Sep 8, 2025
d47d36d
make tests clearer
AnkushMalaker Sep 8, 2025
78d2f82
Merge pull request #82 from AnkushMalaker/diarization-source-consolidate
AnkushMalaker Sep 8, 2025
e8ab0d2
test build
AnkushMalaker Sep 8, 2025
4669222
fix test group
AnkushMalaker Sep 8, 2025
1a71c2e
Merge branch 'diarization-source-consolidate'
AnkushMalaker Sep 8, 2025
d49df82
working!
AnkushMalaker Sep 9, 2025
be2bf42
visualization fixed
AnkushMalaker Sep 9, 2025
c6eeeda
update docs
AnkushMalaker Sep 9, 2025
781fe44
follow coderabbit :pray::skin-tone-4:
AnkushMalaker Sep 9, 2025
bab2715
Merge pull request #85 from AnkushMalaker/mic-button
AnkushMalaker Sep 9, 2025
04e3353
better onboarding docs
AnkushMalaker Sep 9, 2025
cd3b063
remove redundant readme
AnkushMalaker Sep 9, 2025
d4f46b4
fix
AnkushMalaker Sep 9, 2025
b187535
Merge pull request #86 from AnkushMalaker/better-onboarding
AnkushMalaker Sep 9, 2025
cf4dce2
Merge branch 'main' into HEAD
AnkushMalaker Sep 9, 2025
d3ce5cd
Merge pull request #87 from AnkushMalaker/cpu-tweaks
AnkushMalaker Sep 9, 2025
3001a61
speaker service networking fix
AnkushMalaker Sep 9, 2025
3acbee9
please god please let tests pass
AnkushMalaker Sep 9, 2025
b5e3d68
memory config from UI
AnkushMalaker Sep 9, 2025
d8b25d4
fix weirdness
AnkushMalaker Sep 9, 2025
063c537
memory bug fix, should work from mobile now
AnkushMalaker Sep 10, 2025
998e29b
Merge pull request #89 from AnkushMalaker/speaker-service-networking-fix
AnkushMalaker Sep 11, 2025
12c48c7
Merge pull request #90 from AnkushMalaker/memory-config-from-ui
AnkushMalaker Sep 11, 2025
17e50c3
long audio fix
AnkushMalaker Sep 13, 2025
814b91f
actually working chunking
AnkushMalaker Sep 15, 2025
0c24736
fix
AnkushMalaker Sep 15, 2025
d3c3a26
compose fix
AnkushMalaker Sep 15, 2025
e68b18b
Merge pull request #97 from AnkushMalaker/compose-fix
AnkushMalaker Sep 17, 2025
c7ccefb
fix init
AnkushMalaker Sep 17, 2025
8bb1309
conversation stop and speech driven system
AnkushMalaker Sep 17, 2025
0ce122e
bug fix
AnkushMalaker Sep 17, 2025
ffabab7
Merge branch 'main' into long-audio-fix
AnkushMalaker Sep 17, 2025
0f6e125
what now?
AnkushMalaker Sep 17, 2025
35ed793
Merge pull request #95 from AnkushMalaker/long-audio-fix
AnkushMalaker Sep 17, 2025
cc5b1cf
Merge branch 'main' into reprocessing
AnkushMalaker Sep 18, 2025
937b96b
kinda done ish
AnkushMalaker Sep 18, 2025
2c4369b
finishing
AnkushMalaker Sep 18, 2025
01d1b42
Merge pull request #96 from AnkushMalaker/reprocessing
AnkushMalaker Sep 18, 2025
b4952cd
actually working chunking
AnkushMalaker Sep 15, 2025
e718b58
fix
AnkushMalaker Sep 15, 2025
983a7cc
kinda done ish
AnkushMalaker Sep 18, 2025
2e74019
finishing
AnkushMalaker Sep 18, 2025
23c5a44
Re-orgnise scripts and makefile
thestumonkey Sep 18, 2025
c57643a
Different pyproject.toml for old hardware
thestumonkey Sep 18, 2025
5a9d6c1
Update architecture.md
AnkushMalaker Sep 18, 2025
cd7eb0e
Merge branch 'main' into k8s-merge
AnkushMalaker Sep 18, 2025
8acb8fa
Merge pull request #105 from thestumonkey/k8s-merge
AnkushMalaker Sep 18, 2025
75a9764
Refactor audio processing and client management
AnkushMalaker Sep 19, 2025
f425c2b
Update Dockerfile command and enhance integration tests; add memory p…
AnkushMalaker Sep 19, 2025
fb5828d
fixes 29
AnkushMalaker Sep 19, 2025
06b31cb
Enhance transcription status update and improve thread safety in memo…
AnkushMalaker Sep 19, 2025
0ed3196
Merge pull request #111 from AnkushMalaker/better-audio-processing
AnkushMalaker Sep 19, 2025
43e4593
Added queue management page and linked repreocess transcription
thestumonkey Sep 22, 2025
a629082
fix faiss issue in speaker recognition cpu
AnkushMalaker Sep 24, 2025
fc1a4c6
Merge main+pytest
thestumonkey Sep 25, 2025
701e546
fixed spurious calls to version endpoint, added logging, standardised…
thestumonkey Sep 26, 2025
df8d297
Moved to using RQ queue, implemented beanie models for conversations
thestumonkey Sep 30, 2025
02d6c55
Created audio controller and moved final transcription to rq
thestumonkey Sep 30, 2025
2ada7e7
fixed integration tests, and tidied up audio methods
stuartalexander-nexus Oct 2, 2025
2d23458
service model, transcript RQ workers
stuartalexander-nexus Oct 3, 2025
1adb4ca
Massive refactor
stuartalexander-nexus Oct 5, 2025
d710e22
Refactor and tidy
stuartalexander-nexus Oct 11, 2025
8cc10d9
fix audio queue naming issue
stuartalexander-nexus Oct 11, 2025
ce5cbb0
fixed speaker recognition on transcript
stuartalexander-nexus Oct 11, 2025
1db4e6c
Queue refactor complete
stuartalexander-nexus Oct 12, 2025
bc6085e
added cleanup (trim) of redis streams
stuartalexander-nexus Oct 12, 2025
345e60a
report auth issue to client if auth issue
stuartalexander-nexus Oct 12, 2025
162ef71
fix return value if speaker unknonw
stuartalexander-nexus Oct 12, 2025
07452bf
fix return value if speaker unknonw
stuartalexander-nexus Oct 12, 2025
dd013f5
added worker startup command on dockerfiule
stuartalexander-nexus Oct 13, 2025
9017276
Update Docker configuration and speaker recognition dependencies
AnkushMalaker Oct 13, 2025
ba9ad24
Merge pull request #122 from AnkushMalaker/minor-changes
thestumonkey Oct 13, 2025
d42ebe8
Merge branch 'main' into queue-combo
AnkushMalaker Oct 13, 2025
fe427d4
minor changes
AnkushMalaker Oct 13, 2025
29353b1
Remove unused Dockerfiles and pyproject files for blackwell and parak…
0xrushi Oct 14, 2025
2416fe0
121 default
0xrushi Oct 14, 2025
d8b1b40
Merge pull request #124 from 0xrushi/fix/removeblackwell
AnkushMalaker Oct 14, 2025
2ff921e
Implemented close conversation
stuartalexander-nexus Oct 19, 2025
ecac7aa
Implemented close conversation
stuartalexander-nexus Oct 19, 2025
1aa8f6b
massive tidy and removal of old methods and code
stuartalexander-nexus Oct 21, 2025
cd6cccf
Merge branch 'close-convo' of https://github.com/thestumonkey/friend-…
stuartalexander-nexus Oct 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file added .assets/plan.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
221 changes: 221 additions & 0 deletions .env.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
# ========================================
# FRIEND-LITE MASTER CONFIGURATION
# ========================================
# This is the master configuration template for the entire Friend-Lite project.
# Copy this file to .env and customize values, then run 'make config' to generate
# all service-specific configuration files.

# ========================================
# DEPLOYMENT SETTINGS
# ========================================

# Infrastructure namespaces
INFRASTRUCTURE_NAMESPACE=infrastructure
APPLICATION_NAMESPACE=friend-lite

# Deployment mode: docker-compose, kubernetes, or distributed
DEPLOYMENT_MODE=docker-compose

# Container registry (for kubernetes/skaffold)
CONTAINER_REGISTRY=localhost:32000

# ========================================
# NETWORK CONFIGURATION
# ========================================

# Primary domain/IP for all services
# Examples: localhost, 192.168.1.100, friend-lite.example.com, 100.x.x.x (Tailscale)
DOMAIN=localhost

# Service ports (Docker Compose mode)
BACKEND_PORT=8000
WEBUI_PORT=5173
SPEAKER_PORT=8085
MONGODB_PORT=27017
QDRANT_PORT=6333
NGROK_PORT=4040

# Kubernetes node ports (for LoadBalancer services)
BACKEND_NODEPORT=30270
WEBUI_NODEPORT=31011
SPEAKER_NODEPORT=30285

# Generated service URLs (computed from above)
BACKEND_HOST=${DOMAIN}
WEBUI_HOST=${DOMAIN}
SPEAKER_HOST=speaker.${DOMAIN}
BACKEND_URL=http://${DOMAIN}:${BACKEND_PORT}
WEBUI_URL=http://${DOMAIN}:${WEBUI_PORT}
SPEAKER_SERVICE_URL=http://${DOMAIN}:${SPEAKER_PORT}

# ========================================
# AUTHENTICATION & SECURITY
# ========================================

# JWT secret key - make this random and long
AUTH_SECRET_KEY=your-super-secret-jwt-key-here-make-it-random-and-long

# Admin account
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=secure-admin-password

# CORS origins (auto-generated based on DOMAIN and ports)
CORS_ORIGINS=http://${DOMAIN}:${WEBUI_PORT},http://${DOMAIN}:3000,http://localhost:${WEBUI_PORT},http://localhost:3000

# ========================================
# LLM CONFIGURATION
# ========================================

# LLM Provider: openai, ollama, or groq
LLM_PROVIDER=openai

# OpenAI configuration
OPENAI_API_KEY=your-openai-key-here
OPENAI_BASE_URL=https://api.openai.com/v1
OPENAI_MODEL=gpt-4o-mini

# Ollama configuration (when LLM_PROVIDER=ollama)
OLLAMA_BASE_URL=http://ollama:11434
OLLAMA_MODEL=llama3.1:latest

# Chat-specific settings
CHAT_LLM_MODEL=${OPENAI_MODEL}
CHAT_TEMPERATURE=0.7

# ========================================
# SPEECH-TO-TEXT CONFIGURATION
# ========================================

# Primary transcription provider: deepgram, mistral, or parakeet
TRANSCRIPTION_PROVIDER=deepgram

# Deepgram configuration
DEEPGRAM_API_KEY=your-deepgram-key-here

# Mistral configuration (when TRANSCRIPTION_PROVIDER=mistral)
MISTRAL_API_KEY=your-mistral-key-here
MISTRAL_MODEL=voxtral-mini-2507

# Parakeet ASR configuration (when TRANSCRIPTION_PROVIDER=parakeet)
PARAKEET_ASR_URL=http://host.docker.internal:8767

# ========================================
# DATABASE CONFIGURATION
# ========================================

# MongoDB configuration
MONGODB_URI=mongodb://mongo:${MONGODB_PORT}
MONGODB_K8S_URI=mongodb://mongodb.${INFRASTRUCTURE_NAMESPACE}.svc.cluster.local:27017/friend-lite

# Qdrant configuration
QDRANT_BASE_URL=qdrant
QDRANT_K8S_URL=qdrant.${INFRASTRUCTURE_NAMESPACE}.svc.cluster.local

# Neo4j configuration (optional)
NEO4J_HOST=neo4j-mem0
NEO4J_USER=neo4j
NEO4J_PASSWORD=neo4j-password

# ========================================
# MEMORY PROVIDER CONFIGURATION
# ========================================

# Memory Provider: friend_lite or openmemory_mcp
MEMORY_PROVIDER=friend_lite

# OpenMemory MCP configuration (when MEMORY_PROVIDER=openmemory_mcp)
OPENMEMORY_MCP_URL=http://host.docker.internal:8765
OPENMEMORY_CLIENT_NAME=friend_lite
OPENMEMORY_USER_ID=openmemory
OPENMEMORY_TIMEOUT=30

# ========================================
# SPEAKER RECOGNITION CONFIGURATION
# ========================================

# Hugging Face token for speaker recognition models
HF_TOKEN=your-huggingface-token-here

# Speaker recognition settings
SIMILARITY_THRESHOLD=0.15
COMPUTE_MODE=cpu

# Speaker service configuration
SPEAKER_SERVICE_HOST=speaker-service
SPEAKER_SERVICE_PORT=${SPEAKER_PORT}

# React UI settings for speaker recognition
REACT_UI_HOST=0.0.0.0
REACT_UI_PORT=5174
REACT_UI_HTTPS=false
WEBUI_CORS_ORIGIN=*

# Vite configuration
VITE_ALLOWED_HOSTS=localhost 127.0.0.1 ${DOMAIN}
# ========================================
# OPTIONAL SERVICES
# ========================================

# Groq API (alternative LLM provider)
GROQ_API_KEY=your-groq-api-key-here

# Langfuse telemetry
LANGFUSE_PUBLIC_KEY=
LANGFUSE_SECRET_KEY=
LANGFUSE_HOST=http://x.x.x.x:3002
LANGFUSE_ENABLE_TELEMETRY=false

# Ngrok for external access
NGROK_AUTHTOKEN=your-ngrok-token-here

# ========================================
# AUDIO PROCESSING SETTINGS
# ========================================

NEW_CONVERSATION_TIMEOUT_MINUTES=1.5
AUDIO_CROPPING_ENABLED=true
MIN_SPEECH_SEGMENT_DURATION=1.0
CROPPING_CONTEXT_PADDING=0.1

# ========================================
# DEVELOPMENT & DEBUG SETTINGS
# ========================================

# Environment
ENVIRONMENT=dev
NODE_ENV=production

# Debug settings
DEBUG_DIR=./data/debug_dir
MEM0_TELEMETRY=false

# Host IP for public access (Docker host IP)
HOST_IP=${DOMAIN}
BACKEND_PUBLIC_PORT=${BACKEND_PORT}

# Storage settings
PERSISTENCE_SIZE=10Gi
STORAGE_CLASS=openebs-hostpath

# ========================================
# KUBERNETES-SPECIFIC SETTINGS
# ========================================

# Image pull policy
IMAGE_PULL_POLICY=Always

# Resource limits
BACKEND_CPU_LIMIT=1000m
BACKEND_MEMORY_LIMIT=2Gi
BACKEND_CPU_REQUEST=200m
BACKEND_MEMORY_REQUEST=1Gi

WEBUI_CPU_LIMIT=500m
WEBUI_MEMORY_LIMIT=512Mi
WEBUI_CPU_REQUEST=100m
WEBUI_MEMORY_REQUEST=128Mi

SPEAKER_CPU_LIMIT=2000m
SPEAKER_MEMORY_LIMIT=4Gi
SPEAKER_CPU_REQUEST=500m
SPEAKER_MEMORY_REQUEST=2Gi
91 changes: 91 additions & 0 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# GitHub Actions CI/CD Setup for Friend Lite

This sets up **automatic GitHub releases** with APK/IPA files whenever you push code.

## 🚀 How This Works

1. You push code to GitHub
2. GitHub automatically builds **both Android APK and iOS IPA**
3. **Creates GitHub Releases** with both files attached
4. You download directly from the **Releases** tab!

## 🎯 Quick Setup (2 Steps)

### Step 1: Get Expo Token
1. Go to [expo.dev](https://expo.dev) and sign in/create account
2. Go to [Access Tokens](https://expo.dev/accounts/[account]/settings/access-tokens)
3. Create a new token and copy it

### Step 2: Add GitHub Secret
1. In your GitHub repo: **Settings** → **Secrets and variables** → **Actions**
2. Click **New repository secret**
3. Name: `EXPO_TOKEN`
4. Value: Paste your token from Step 1
5. Click **Add secret**

## ⚡ That's It!
# GitHub Actions Workflows

## Integration Tests

### Automatic Integration Tests (`integration-tests.yml`)
- **Triggers**: Push/PR to `main` or `develop` branches affecting backend code
- **Timeout**: 15 minutes
- **Mode**: Cached mode (better for CI environment)
- **Dependencies**: Requires `DEEPGRAM_API_KEY` and `OPENAI_API_KEY` secrets

## Required Secrets

Add these secrets in your GitHub repository settings:

```
DEEPGRAM_API_KEY=your-deepgram-api-key
OPENAI_API_KEY=your-openai-api-key
```

## Test Environment

- **Runtime**: Ubuntu latest with Docker support
- **Python**: 3.12 with uv package manager
- **Services**: MongoDB (port 27018), Qdrant (ports 6335/6336), Backend (port 8001)
- **Test Data**: Isolated test directories and databases
- **Audio**: 4-minute glass blowing tutorial for end-to-end validation

## Modes

### Cached Mode (Recommended for CI)
- Reuses containers and data between test runs
- Faster startup time
- Better for containerized CI environments
- Used by default in automatic workflows

### Fresh Mode (Recommended for Local Development)
- Completely clean environment each run
- Removes all test data and containers
- Slower but more reliable for debugging
- Can be selected in manual workflow

## Troubleshooting

1. **Test Timeout**: Increase `timeout_minutes` in manual workflow
2. **Memory Issues**: Check container logs in failed run artifacts
3. **API Key Issues**: Verify secrets are set correctly in repository settings
4. **Fresh Mode Fails**: Try cached mode for comparison

## Local Testing

To run the same tests locally:

```bash
cd backends/advanced-backend

# Install dependencies
uv sync --dev

# Set up environment (copy from .env.template)
cp .env.template .env.test
# Add your API keys to .env.test

# Run test (modify CACHED_MODE in test_integration.py if needed)
uv run pytest test_integration.py::test_full_pipeline_integration -v -s
```
Loading