-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
89 lines (85 loc) Β· 2.96 KB
/
Copy pathdocker-compose.yml
File metadata and controls
89 lines (85 loc) Β· 2.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
version: '3.8'
services:
# ββ V1 Web App ββββββββββββββββββββββββββββββββββββββββββββββββββ
app:
build: .
container_name: voice-to-notes
ports:
- "9123:8000"
volumes:
- ${DATA_DIR:-~/voice-notes-data}:/app/data
# Broad Google Drive mount β user picks subdirectories in Settings UI
- ${GDRIVE_MOUNT_PATH:-./_placeholder_gdrive}:/data/gdrive
environment:
- DATABASE_URL=sqlite:///./data/voice_notes.db
env_file:
- .env
restart: unless-stopped
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/')"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
# ββ V2 Watcher Engine ββββββββββββββββββββββββββββββββββββββββββ
watcher:
build: .
container_name: voice-to-notes-watcher
command: python run_watcher.py
volumes:
- ${DATA_DIR:-~/voice-notes-data}:/app/data
# Same broad mount β watcher reads paths from DB Settings
- ${GDRIVE_MOUNT_PATH:-./_placeholder_gdrive}:/data/gdrive
environment:
- DATABASE_URL=sqlite:///./data/voice_notes.db
# Fallback paths if DB settings not yet configured
- LOCAL_SYNC_AUDIO_DIR=/data/gdrive
- OBSIDIAN_VAULT_DIR=/data/gdrive
# Transcription engine: gemini (default), whisper-1, or gpt-4o-transcribe
# Set OPENAI_API_KEY in .env when using OpenAI engines
- TRANSCRIPTION_ENGINE=${TRANSCRIPTION_ENGINE:-gemini}
env_file:
- .env
restart: unless-stopped
depends_on:
app:
condition: service_healthy
# No named volumes needed - using bind mounts for data persistence
# Data is stored outside the repo at ~/voice-notes-data by default
# ============================================================================
# Optional: PostgreSQL instead of SQLite (uncomment to use)
# ============================================================================
# services:
# app:
# build: .
# container_name: voice-to-notes
# ports:
# - "8000:8000"
# volumes:
# - voice_notes_uploads:/app/data/uploads
# environment:
# - DATABASE_URL=postgresql://voice:voice_password@db:5432/voice_notes
# depends_on:
# db:
# condition: service_healthy
# restart: unless-stopped
#
# db:
# image: postgres:15-alpine
# container_name: voice-to-notes-db
# environment:
# - POSTGRES_USER=voice
# - POSTGRES_PASSWORD=voice_password
# - POSTGRES_DB=voice_notes
# volumes:
# - postgres_data:/var/lib/postgresql/data
# healthcheck:
# test: ["CMD-SHELL", "pg_isready -U voice -d voice_notes"]
# interval: 5s
# timeout: 5s
# retries: 5
# restart: unless-stopped
#
# volumes:
# voice_notes_uploads:
# postgres_data: