forked from enclava-labs/enclava
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.sqlite.yml
More file actions
73 lines (70 loc) · 2.21 KB
/
Copy pathdocker-compose.sqlite.yml
File metadata and controls
73 lines (70 loc) · 2.21 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
# ===================================
# ENCLAVA - SQLITE + EXTRACT-ONLY
# ===================================
# Minimal deployment with SQLite database
# No PostgreSQL, No Redis, No Qdrant needed
#
# Usage:
# docker compose -f docker-compose.sqlite.yml up --build
#
# Environment variables (set in .env):
# - JWT_SECRET (required)
# - PRIVATEMODE_API_KEY or REDPILL_API_KEY (at least one required)
# - ADMIN_EMAIL, ADMIN_PASSWORD (for initial admin user)
services:
# Main application backend (runs migrations at startup, then launches API)
enclava-backend:
container_name: enclava-backend
build:
context: ./backend
dockerfile: Dockerfile
args:
REQUIREMENTS_FILE: requirements.sqlite.txt
INSTALL_TORCH: "false"
INSTALL_BUILD_DEPS: "false"
INSTALL_PG_DEPS: "false"
environment:
# SQLite database
- DATABASE_URL=sqlite:////app/data/enclava.db
# Security
- JWT_SECRET=${JWT_SECRET:-your-jwt-secret-here}
- BASE_URL=${BASE_URL:-localhost}
# Admin user
- ADMIN_EMAIL=${ADMIN_EMAIL:-admin@example.com}
- ADMIN_PASSWORD=${ADMIN_PASSWORD:-changeme}
# LLM Providers
- PRIVATEMODE_API_KEY=${PRIVATEMODE_API_KEY:-}
- REDPILL_API_KEY=${REDPILL_API_KEY:-}
- REDPILL_BASE_URL=${REDPILL_BASE_URL:-https://api.redpill.ai/v1}
- REDPILL_TEST_MODEL=${REDPILL_TEST_MODEL:-phala/deepseek-v3.2}
# Skip attestation verification (for testing only)
- SKIP_ATTESTATION_CHECK=true
# Extract-only modules
- EXTRACT_ENABLED=true
- CHATBOTS_ENABLED=false
- AGENTS_ENABLED=false
- RAG_ENABLED=false
- PLUGINS_ENABLED=false
- REDIS_ENABLED=false
- ANALYTICS_ENABLED=false
- AUDIT_ENABLED=false
- BUILTIN_TOOLS_ENABLED=false
- PROMETHEUS_ENABLED=false
# Logging
- LOG_LLM_PROMPTS=${LOG_LLM_PROMPTS:-false}
ports:
- "8000:8000" # Direct backend access (no nginx)
volumes:
- ./backend:/app:z
- ./logs:/app/logs:z
- enclava-sqlite-data:/app/data:z
networks:
- enclava-net
restart: unless-stopped
security_opt:
- label=disable
volumes:
enclava-sqlite-data:
networks:
enclava-net:
driver: bridge