mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-28 02:23:53 +02:00
try: docker all in one image
This commit is contained in:
parent
2cf9fa7a39
commit
5b0d2f82e6
10 changed files with 823 additions and 164 deletions
82
docker-compose.quickstart.yml
Normal file
82
docker-compose.quickstart.yml
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
# SurfSense Quick Start Docker Compose
|
||||
#
|
||||
# This is a simplified docker-compose for quick local deployment using pre-built images.
|
||||
# For production or customized deployments, use the main docker-compose.yml
|
||||
#
|
||||
# Usage:
|
||||
# 1. Create a .env file with your required configuration (see below)
|
||||
# 2. Run: docker compose -f docker-compose.quickstart.yml up -d
|
||||
# 3. Access SurfSense at http://localhost:3000
|
||||
#
|
||||
# Required Environment Variables:
|
||||
# - SECRET_KEY: JWT secret key (generate with: openssl rand -hex 32)
|
||||
#
|
||||
# Optional Environment Variables:
|
||||
# - EMBEDDING_MODEL: Embedding model to use (default: sentence-transformers/all-MiniLM-L6-v2)
|
||||
# - ETL_SERVICE: Document parsing service - DOCLING, UNSTRUCTURED, or LLAMACLOUD (default: DOCLING)
|
||||
# - TTS_SERVICE: Text-to-speech service for podcasts (default: local/kokoro)
|
||||
# - STT_SERVICE: Speech-to-text service (default: local/base)
|
||||
# - FIRECRAWL_API_KEY: For web crawling features
|
||||
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
# All-in-one SurfSense container
|
||||
surfsense:
|
||||
image: ghcr.io/modsetter/surfsense:latest
|
||||
container_name: surfsense
|
||||
ports:
|
||||
- "${FRONTEND_PORT:-3000}:3000"
|
||||
- "${BACKEND_PORT:-8000}:8000"
|
||||
volumes:
|
||||
- surfsense-data:/data
|
||||
environment:
|
||||
# Required
|
||||
- SECRET_KEY=${SECRET_KEY:-change-me-in-production}
|
||||
|
||||
# Auth Configuration
|
||||
- AUTH_TYPE=${AUTH_TYPE:-LOCAL}
|
||||
- GOOGLE_OAUTH_CLIENT_ID=${GOOGLE_OAUTH_CLIENT_ID:-}
|
||||
- GOOGLE_OAUTH_CLIENT_SECRET=${GOOGLE_OAUTH_CLIENT_SECRET:-}
|
||||
|
||||
# AI/ML Configuration
|
||||
- EMBEDDING_MODEL=${EMBEDDING_MODEL:-sentence-transformers/all-MiniLM-L6-v2}
|
||||
- RERANKERS_ENABLED=${RERANKERS_ENABLED:-FALSE}
|
||||
- RERANKERS_MODEL_NAME=${RERANKERS_MODEL_NAME:-}
|
||||
- RERANKERS_MODEL_TYPE=${RERANKERS_MODEL_TYPE:-}
|
||||
|
||||
# Document Processing
|
||||
- ETL_SERVICE=${ETL_SERVICE:-DOCLING}
|
||||
- UNSTRUCTURED_API_KEY=${UNSTRUCTURED_API_KEY:-}
|
||||
- LLAMA_CLOUD_API_KEY=${LLAMA_CLOUD_API_KEY:-}
|
||||
|
||||
# Audio Services
|
||||
- TTS_SERVICE=${TTS_SERVICE:-local/kokoro}
|
||||
- TTS_SERVICE_API_KEY=${TTS_SERVICE_API_KEY:-}
|
||||
- STT_SERVICE=${STT_SERVICE:-local/base}
|
||||
- STT_SERVICE_API_KEY=${STT_SERVICE_API_KEY:-}
|
||||
|
||||
# Web Crawling
|
||||
- FIRECRAWL_API_KEY=${FIRECRAWL_API_KEY:-}
|
||||
|
||||
# Optional Features
|
||||
- REGISTRATION_ENABLED=${REGISTRATION_ENABLED:-TRUE}
|
||||
- SCHEDULE_CHECKER_INTERVAL=${SCHEDULE_CHECKER_INTERVAL:-1m}
|
||||
|
||||
# LangSmith Observability (optional)
|
||||
- LANGSMITH_TRACING=${LANGSMITH_TRACING:-false}
|
||||
- LANGSMITH_ENDPOINT=${LANGSMITH_ENDPOINT:-}
|
||||
- LANGSMITH_API_KEY=${LANGSMITH_API_KEY:-}
|
||||
- LANGSMITH_PROJECT=${LANGSMITH_PROJECT:-}
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:3000", "&&", "curl", "-f", "http://localhost:8000/docs"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 120s
|
||||
|
||||
volumes:
|
||||
surfsense-data:
|
||||
name: surfsense-data
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue