1 line
14 KiB
JSON
1 line
14 KiB
JSON
{"repo": "aiteauburn/trr", "files": {"docker-compose.yml": {"673ff243d25799c3a85cdf1dded30c7a573895c0": {"t": 1785746991.6773503, "n": 4498, "h": "becc33050b24a8ac", "c": "services:\n db:\n image: postgres:16-alpine\n environment:\n POSTGRES_DB: ${POSTGRES_DB:-bloodsugar}\n POSTGRES_USER: ${POSTGRES_USER:-app}\n POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-app}\n ports:\n - \"5432:5432\"\n volumes:\n - postgres_data:/var/lib/postgresql/data\n healthcheck:\n test: [\"CMD-SHELL\", \"pg_isready -U ${POSTGRES_USER:-app} -d ${POSTGRES_DB:-bloodsugar}\"]\n interval: 5s\n timeout: 3s\n retries: 10\n\n backend:\n build:\n context: ./backend\n environment:\n APP_ENV: ${APP_ENV:-local}\n LOG_LEVEL: ${LOG_LEVEL:-debug}\n ENABLE_DEBUG_TOOLS: ${ENABLE_DEBUG_TOOLS:-false}\n ALLOW_DEV_AUTH: ${ALLOW_DEV_AUTH:-true}\n DATABASE_URL: ${DATABASE_URL:-postgresql+psycopg://app:app@db:5432/bloodsugar}\n BACKEND_CORS_ORIGINS: ${BACKEND_CORS_ORIGINS:-http://localhost:5173,http://127.0.0.1:5173}\n MAX_REQUEST_BODY_BYTES: ${MAX_REQUEST_BODY_BYTES:-1048576}\n AUTH_JWT_SECRET: ${AUTH_JWT_SECRET:-}\n AUTH_JWT_ISSUER: ${AUTH_JWT_ISSUER:-}\n AUTH_JWT_AUDIENCE: ${AUTH_JWT_AUDIENCE:-}\n AUTH_JWKS_URL: ${AUTH_JWKS_URL:-}\n AUTH_JWKS_TIMEOUT_SECONDS: ${AUTH_JWKS_TIMEOUT_SECONDS:-5}\n AUTH_JWT_REQUIRE_JTI: ${AUTH_JWT_REQUIRE_JTI:-false}\n AUTH_OIDC_JWKS_URL: ${AUTH_OIDC_JWKS_URL:-}\n AUTH_OIDC_ISSUER: ${AUTH_OIDC_ISSUER:-}\n AUTH_OIDC_AUDIENCE: ${AUTH_OIDC_AUDIENCE:-}\n AUTH_OIDC_TIMEOUT_SECONDS: ${AUTH_OIDC_TIMEOUT_SECONDS:-5}\n AUTH_OIDC_MAX_AGE_SECONDS: ${AUTH_OIDC_MAX_AGE_SECONDS:-3600}\n AUTH_LOGIN_CLIENT_RATE_LIMIT_COUNT: ${AUTH_LOGIN_CLIENT_RATE_LIMIT_COUNT:-30}\n AUTH_LOGIN_CLIENT_RATE_LIMIT_WINDOW_SECONDS: ${AUTH_LOGIN_CLIENT_RATE_LIMIT_WINDOW_SECONDS:-60}\n AUTH_LOGOUT_CLIENT_RATE_LIMIT_COUNT: ${AUTH_LOGOUT_CLIENT_RATE_LIMIT_COUNT:-120}\n AUTH_LOGOUT_CLIENT_RATE_LIMIT_WINDOW_SECONDS: ${AUTH_LOGOUT_CLIENT_RATE_LIMIT_WINDOW_SECONDS:-60}\n GEMMA4_PARSER_URL: ${GEMMA4_PARSER_URL:-}\n GEMMA4_MODEL_ID: ${GEMMA4_MODEL_ID:-gemma-4-e2b-local-pending}\n GEMMA4_TIMEOUT_SECONDS: ${GEMMA4_TIMEOUT_SECONDS:-60}\n LOCAL_LLM_PARSER_URL: ${LOCAL_LLM_PARSER_URL:-http://ollama:11434/v1/chat/completions}\n DEEPSEEK_PARSER_URL: ${DEEPSEEK_PARSER_URL:-}\n DEEPSEEK_API_KEY: ${DEEPSEEK_API_KEY:-}\n DEEPSEEK_MODEL_ID: ${DEEPSEEK_MODEL_ID:-deepseek-chat}\n OLLAMA_CHAT_URL: ${OLLAMA_CHAT_URL:-http://ollama:11434/api/chat}\n LOCAL_LLM_KEEP_ALIVE: ${LOCAL_LLM_KEEP_ALIVE:-30m}\n LOCAL_LLM_MAX_TOKENS: ${LOCAL_LLM_MAX_TOKENS:-960}\n LOCAL_LLM_TIMEOUT_SECONDS: ${LOCAL_LLM_TIMEOUT_SECONDS:-120}\n LOCAL_LLM_REPAIR_FALLBACK_ENABLED: ${LOCAL_LLM_REPAIR_FALLBACK_ENABLED:-false}\n OLLAMA_QWEN25_MODEL_ID: ${OLLAMA_QWEN25_MODEL_ID:-qwen2.5:1.5b}\n OLLAMA_GEMMA3_MODEL_ID: ${OLLAMA_GEMMA3_MODEL_ID:-gemma3:1b}\n OLLAMA_LLAMA32_MODEL_ID: ${OLLAMA_LLAMA32_MODEL_ID:-llama3.2:1b}\n ports:\n - \"8000:8000\"\n volumes:\n - ./backend/alembic:/app/alembic\n - ./backend/alembic.ini:/app/alembic.ini\n - ./backend/app:/app/app\n - ./backend/tests:/app/tests\n - ./backend/pyproject.toml:/app/pyproject.toml\n depends_on:\n db:\n condition: service_healthy\n\n ollama:\n image: ollama/ollama:latest\n gpus: all\n environment:\n NVIDIA_VISIBLE_DEVICES: ${NVIDIA_VISIBLE_DEVICES:-all}\n NVIDIA_DRIVER_CAPABILITIES: ${NVIDIA_DRIVER_CAPABILITIES:-compute,utility}\n OLLAMA_KEEP_ALIVE: ${OLLAMA_KEEP_ALIVE:-30m}\n ports:\n - \"11434:11434\"\n volumes:\n - ollama_data:/root/.ollama\n\n web:\n build:\n context: ./web\n environment:\n VITE_API_BASE_URL: ${VITE_API_BASE_URL:-http://localhost:8000}\n VITE_ENABLE_DEBUG_TOOLS: ${VITE_ENABLE_DEBUG_TOOLS:-false}\n VITE_VOICE_PLAN: ${VITE_VOICE_PLAN:-trial}\n VITE_TRIAL_DAILY_VOICE_SECONDS: ${VITE_TRIAL_DAILY_VOICE_SECONDS:-300}\n VITE_PAID_DAILY_VOICE_SECONDS: ${VITE_PAID_DAILY_VOICE_SECONDS:-600}\n VITE_SINGLE_RECORDING_LIMIT_SECONDS: ${VITE_SINGLE_RECORDING_LIMIT_SECONDS:-60}\n VITE_VOICE_QUOTA_WARNING_SECONDS: ${VITE_VOICE_QUOTA_WARNING_SECONDS:-120}\n VITE_SILENT_AUDIO_MIN_BYTES: ${VITE_SILENT_AUDIO_MIN_BYTES:-1024}\n ports:\n - \"5173:5173\"\n volumes:\n - ./web/src:/app/src\n - ./web/eslint.config.js:/app/eslint.config.js\n - ./web/index.html:/app/index.html\n - ./web/tsconfig.json:/app/tsconfig.json\n - ./web/vite.config.ts:/app/vite.config.ts\n depends_on:\n - backend\n\nvolumes:\n postgres_data:\n ollama_data:\n"}, "139e03a54be470964cdda0c288ce91eb8d507071": {"t": 1785769571.304402, "n": 4498, "h": "becc33050b24a8ac", "c": "services:\n db:\n image: postgres:16-alpine\n environment:\n POSTGRES_DB: ${POSTGRES_DB:-bloodsugar}\n POSTGRES_USER: ${POSTGRES_USER:-app}\n POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-app}\n ports:\n - \"5432:5432\"\n volumes:\n - postgres_data:/var/lib/postgresql/data\n healthcheck:\n test: [\"CMD-SHELL\", \"pg_isready -U ${POSTGRES_USER:-app} -d ${POSTGRES_DB:-bloodsugar}\"]\n interval: 5s\n timeout: 3s\n retries: 10\n\n backend:\n build:\n context: ./backend\n environment:\n APP_ENV: ${APP_ENV:-local}\n LOG_LEVEL: ${LOG_LEVEL:-debug}\n ENABLE_DEBUG_TOOLS: ${ENABLE_DEBUG_TOOLS:-false}\n ALLOW_DEV_AUTH: ${ALLOW_DEV_AUTH:-true}\n DATABASE_URL: ${DATABASE_URL:-postgresql+psycopg://app:app@db:5432/bloodsugar}\n BACKEND_CORS_ORIGINS: ${BACKEND_CORS_ORIGINS:-http://localhost:5173,http://127.0.0.1:5173}\n MAX_REQUEST_BODY_BYTES: ${MAX_REQUEST_BODY_BYTES:-1048576}\n AUTH_JWT_SECRET: ${AUTH_JWT_SECRET:-}\n AUTH_JWT_ISSUER: ${AUTH_JWT_ISSUER:-}\n AUTH_JWT_AUDIENCE: ${AUTH_JWT_AUDIENCE:-}\n AUTH_JWKS_URL: ${AUTH_JWKS_URL:-}\n AUTH_JWKS_TIMEOUT_SECONDS: ${AUTH_JWKS_TIMEOUT_SECONDS:-5}\n AUTH_JWT_REQUIRE_JTI: ${AUTH_JWT_REQUIRE_JTI:-false}\n AUTH_OIDC_JWKS_URL: ${AUTH_OIDC_JWKS_URL:-}\n AUTH_OIDC_ISSUER: ${AUTH_OIDC_ISSUER:-}\n AUTH_OIDC_AUDIENCE: ${AUTH_OIDC_AUDIENCE:-}\n AUTH_OIDC_TIMEOUT_SECONDS: ${AUTH_OIDC_TIMEOUT_SECONDS:-5}\n AUTH_OIDC_MAX_AGE_SECONDS: ${AUTH_OIDC_MAX_AGE_SECONDS:-3600}\n AUTH_LOGIN_CLIENT_RATE_LIMIT_COUNT: ${AUTH_LOGIN_CLIENT_RATE_LIMIT_COUNT:-30}\n AUTH_LOGIN_CLIENT_RATE_LIMIT_WINDOW_SECONDS: ${AUTH_LOGIN_CLIENT_RATE_LIMIT_WINDOW_SECONDS:-60}\n AUTH_LOGOUT_CLIENT_RATE_LIMIT_COUNT: ${AUTH_LOGOUT_CLIENT_RATE_LIMIT_COUNT:-120}\n AUTH_LOGOUT_CLIENT_RATE_LIMIT_WINDOW_SECONDS: ${AUTH_LOGOUT_CLIENT_RATE_LIMIT_WINDOW_SECONDS:-60}\n GEMMA4_PARSER_URL: ${GEMMA4_PARSER_URL:-}\n GEMMA4_MODEL_ID: ${GEMMA4_MODEL_ID:-gemma-4-e2b-local-pending}\n GEMMA4_TIMEOUT_SECONDS: ${GEMMA4_TIMEOUT_SECONDS:-60}\n LOCAL_LLM_PARSER_URL: ${LOCAL_LLM_PARSER_URL:-http://ollama:11434/v1/chat/completions}\n DEEPSEEK_PARSER_URL: ${DEEPSEEK_PARSER_URL:-}\n DEEPSEEK_API_KEY: ${DEEPSEEK_API_KEY:-}\n DEEPSEEK_MODEL_ID: ${DEEPSEEK_MODEL_ID:-deepseek-chat}\n OLLAMA_CHAT_URL: ${OLLAMA_CHAT_URL:-http://ollama:11434/api/chat}\n LOCAL_LLM_KEEP_ALIVE: ${LOCAL_LLM_KEEP_ALIVE:-30m}\n LOCAL_LLM_MAX_TOKENS: ${LOCAL_LLM_MAX_TOKENS:-960}\n LOCAL_LLM_TIMEOUT_SECONDS: ${LOCAL_LLM_TIMEOUT_SECONDS:-120}\n LOCAL_LLM_REPAIR_FALLBACK_ENABLED: ${LOCAL_LLM_REPAIR_FALLBACK_ENABLED:-false}\n OLLAMA_QWEN25_MODEL_ID: ${OLLAMA_QWEN25_MODEL_ID:-qwen2.5:1.5b}\n OLLAMA_GEMMA3_MODEL_ID: ${OLLAMA_GEMMA3_MODEL_ID:-gemma3:1b}\n OLLAMA_LLAMA32_MODEL_ID: ${OLLAMA_LLAMA32_MODEL_ID:-llama3.2:1b}\n ports:\n - \"8000:8000\"\n volumes:\n - ./backend/alembic:/app/alembic\n - ./backend/alembic.ini:/app/alembic.ini\n - ./backend/app:/app/app\n - ./backend/tests:/app/tests\n - ./backend/pyproject.toml:/app/pyproject.toml\n depends_on:\n db:\n condition: service_healthy\n\n ollama:\n image: ollama/ollama:latest\n gpus: all\n environment:\n NVIDIA_VISIBLE_DEVICES: ${NVIDIA_VISIBLE_DEVICES:-all}\n NVIDIA_DRIVER_CAPABILITIES: ${NVIDIA_DRIVER_CAPABILITIES:-compute,utility}\n OLLAMA_KEEP_ALIVE: ${OLLAMA_KEEP_ALIVE:-30m}\n ports:\n - \"11434:11434\"\n volumes:\n - ollama_data:/root/.ollama\n\n web:\n build:\n context: ./web\n environment:\n VITE_API_BASE_URL: ${VITE_API_BASE_URL:-http://localhost:8000}\n VITE_ENABLE_DEBUG_TOOLS: ${VITE_ENABLE_DEBUG_TOOLS:-false}\n VITE_VOICE_PLAN: ${VITE_VOICE_PLAN:-trial}\n VITE_TRIAL_DAILY_VOICE_SECONDS: ${VITE_TRIAL_DAILY_VOICE_SECONDS:-300}\n VITE_PAID_DAILY_VOICE_SECONDS: ${VITE_PAID_DAILY_VOICE_SECONDS:-600}\n VITE_SINGLE_RECORDING_LIMIT_SECONDS: ${VITE_SINGLE_RECORDING_LIMIT_SECONDS:-60}\n VITE_VOICE_QUOTA_WARNING_SECONDS: ${VITE_VOICE_QUOTA_WARNING_SECONDS:-120}\n VITE_SILENT_AUDIO_MIN_BYTES: ${VITE_SILENT_AUDIO_MIN_BYTES:-1024}\n ports:\n - \"5173:5173\"\n volumes:\n - ./web/src:/app/src\n - ./web/eslint.config.js:/app/eslint.config.js\n - ./web/index.html:/app/index.html\n - ./web/tsconfig.json:/app/tsconfig.json\n - ./web/vite.config.ts:/app/vite.config.ts\n depends_on:\n - backend\n\nvolumes:\n postgres_data:\n ollama_data:\n"}, "a94aa7c8bbb501a4d4d9f87f43a4c5a360d62e16": {"t": 1785769573.4356825, "n": 4339, "h": "3eb600fb9c56ebf9", "c": "services:\n db:\n image: postgres:16-alpine\n environment:\n POSTGRES_DB: ${POSTGRES_DB:-bloodsugar}\n POSTGRES_USER: ${POSTGRES_USER:-app}\n POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-app}\n ports:\n - \"5432:5432\"\n volumes:\n - postgres_data:/var/lib/postgresql/data\n healthcheck:\n test: [\"CMD-SHELL\", \"pg_isready -U ${POSTGRES_USER:-app} -d ${POSTGRES_DB:-bloodsugar}\"]\n interval: 5s\n timeout: 3s\n retries: 10\n\n backend:\n build:\n context: ./backend\n environment:\n APP_ENV: ${APP_ENV:-local}\n LOG_LEVEL: ${LOG_LEVEL:-debug}\n ENABLE_DEBUG_TOOLS: ${ENABLE_DEBUG_TOOLS:-false}\n ALLOW_DEV_AUTH: ${ALLOW_DEV_AUTH:-true}\n DATABASE_URL: ${DATABASE_URL:-postgresql+psycopg://app:app@db:5432/bloodsugar}\n BACKEND_CORS_ORIGINS: ${BACKEND_CORS_ORIGINS:-http://localhost:5173,http://127.0.0.1:5173}\n MAX_REQUEST_BODY_BYTES: ${MAX_REQUEST_BODY_BYTES:-1048576}\n AUTH_JWT_SECRET: ${AUTH_JWT_SECRET:-}\n AUTH_JWT_ISSUER: ${AUTH_JWT_ISSUER:-}\n AUTH_JWT_AUDIENCE: ${AUTH_JWT_AUDIENCE:-}\n AUTH_JWKS_URL: ${AUTH_JWKS_URL:-}\n AUTH_JWKS_TIMEOUT_SECONDS: ${AUTH_JWKS_TIMEOUT_SECONDS:-5}\n AUTH_JWT_REQUIRE_JTI: ${AUTH_JWT_REQUIRE_JTI:-false}\n AUTH_OIDC_JWKS_URL: ${AUTH_OIDC_JWKS_URL:-}\n AUTH_OIDC_ISSUER: ${AUTH_OIDC_ISSUER:-}\n AUTH_OIDC_AUDIENCE: ${AUTH_OIDC_AUDIENCE:-}\n AUTH_OIDC_TIMEOUT_SECONDS: ${AUTH_OIDC_TIMEOUT_SECONDS:-5}\n AUTH_OIDC_MAX_AGE_SECONDS: ${AUTH_OIDC_MAX_AGE_SECONDS:-3600}\n AUTH_LOGIN_CLIENT_RATE_LIMIT_COUNT: ${AUTH_LOGIN_CLIENT_RATE_LIMIT_COUNT:-30}\n AUTH_LOGIN_CLIENT_RATE_LIMIT_WINDOW_SECONDS: ${AUTH_LOGIN_CLIENT_RATE_LIMIT_WINDOW_SECONDS:-60}\n AUTH_LOGOUT_CLIENT_RATE_LIMIT_COUNT: ${AUTH_LOGOUT_CLIENT_RATE_LIMIT_COUNT:-120}\n AUTH_LOGOUT_CLIENT_RATE_LIMIT_WINDOW_SECONDS: ${AUTH_LOGOUT_CLIENT_RATE_LIMIT_WINDOW_SECONDS:-60}\n GEMMA4_PARSER_URL: ${GEMMA4_PARSER_URL:-}\n GEMMA4_MODEL_ID: ${GEMMA4_MODEL_ID:-gemma-4-e2b-local-pending}\n GEMMA4_TIMEOUT_SECONDS: ${GEMMA4_TIMEOUT_SECONDS:-60}\n LOCAL_LLM_PARSER_URL: ${LOCAL_LLM_PARSER_URL:-http://ollama:11434/v1/chat/completions}\n OLLAMA_CHAT_URL: ${OLLAMA_CHAT_URL:-http://ollama:11434/api/chat}\n LOCAL_LLM_KEEP_ALIVE: ${LOCAL_LLM_KEEP_ALIVE:-30m}\n LOCAL_LLM_MAX_TOKENS: ${LOCAL_LLM_MAX_TOKENS:-960}\n LOCAL_LLM_TIMEOUT_SECONDS: ${LOCAL_LLM_TIMEOUT_SECONDS:-120}\n LOCAL_LLM_REPAIR_FALLBACK_ENABLED: ${LOCAL_LLM_REPAIR_FALLBACK_ENABLED:-false}\n OLLAMA_QWEN25_MODEL_ID: ${OLLAMA_QWEN25_MODEL_ID:-qwen2.5:1.5b}\n OLLAMA_GEMMA3_MODEL_ID: ${OLLAMA_GEMMA3_MODEL_ID:-gemma3:1b}\n OLLAMA_LLAMA32_MODEL_ID: ${OLLAMA_LLAMA32_MODEL_ID:-llama3.2:1b}\n ports:\n - \"8000:8000\"\n volumes:\n - ./backend/alembic:/app/alembic\n - ./backend/alembic.ini:/app/alembic.ini\n - ./backend/app:/app/app\n - ./backend/tests:/app/tests\n - ./backend/pyproject.toml:/app/pyproject.toml\n depends_on:\n db:\n condition: service_healthy\n\n ollama:\n image: ollama/ollama:latest\n gpus: all\n environment:\n NVIDIA_VISIBLE_DEVICES: ${NVIDIA_VISIBLE_DEVICES:-all}\n NVIDIA_DRIVER_CAPABILITIES: ${NVIDIA_DRIVER_CAPABILITIES:-compute,utility}\n OLLAMA_KEEP_ALIVE: ${OLLAMA_KEEP_ALIVE:-30m}\n ports:\n - \"11434:11434\"\n volumes:\n - ollama_data:/root/.ollama\n\n web:\n build:\n context: ./web\n environment:\n VITE_API_BASE_URL: ${VITE_API_BASE_URL:-http://localhost:8000}\n VITE_ENABLE_DEBUG_TOOLS: ${VITE_ENABLE_DEBUG_TOOLS:-false}\n VITE_VOICE_PLAN: ${VITE_VOICE_PLAN:-trial}\n VITE_TRIAL_DAILY_VOICE_SECONDS: ${VITE_TRIAL_DAILY_VOICE_SECONDS:-300}\n VITE_PAID_DAILY_VOICE_SECONDS: ${VITE_PAID_DAILY_VOICE_SECONDS:-600}\n VITE_SINGLE_RECORDING_LIMIT_SECONDS: ${VITE_SINGLE_RECORDING_LIMIT_SECONDS:-60}\n VITE_VOICE_QUOTA_WARNING_SECONDS: ${VITE_VOICE_QUOTA_WARNING_SECONDS:-120}\n VITE_SILENT_AUDIO_MIN_BYTES: ${VITE_SILENT_AUDIO_MIN_BYTES:-1024}\n ports:\n - \"5173:5173\"\n volumes:\n - ./web/src:/app/src\n - ./web/eslint.config.js:/app/eslint.config.js\n - ./web/index.html:/app/index.html\n - ./web/tsconfig.json:/app/tsconfig.json\n - ./web/vite.config.ts:/app/vite.config.ts\n depends_on:\n - backend\n\nvolumes:\n postgres_data:\n ollama_data:\n"}}}} |