Skip to content

Commit 9a74e5e

Browse files
committed
Major Upgrades
1 parent dcb6886 commit 9a74e5e

File tree

76 files changed

+3377
-10950
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+3377
-10950
lines changed

.env.example

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,13 @@ RATE_LIMIT_PER_DAY=10000
4545
# DATABASE CONFIGURATION
4646
# =============================================================================
4747

48-
# PostgreSQL settings
48+
# Database type: sqlite or postgres
49+
DB_TYPE=sqlite
50+
51+
# SQLite database path (embedded, zero-config)
52+
DB_PATH=/app/data/ffprobe.db
53+
54+
# PostgreSQL settings (optional, when DB_TYPE=postgres)
4955
POSTGRES_HOST=postgres
5056
POSTGRES_PORT=5432
5157
POSTGRES_DB=ffprobe_api
@@ -57,14 +63,14 @@ DB_MAX_OPEN_CONNS=25
5763
DB_MAX_IDLE_CONNS=10
5864

5965
# =============================================================================
60-
# REDIS CONFIGURATION
66+
# VALKEY CONFIGURATION (Redis-compatible cache)
6167
# =============================================================================
6268

63-
# Redis settings
64-
REDIS_HOST=redis
65-
REDIS_PORT=6379
66-
REDIS_PASSWORD=change_this_secure_redis_password
67-
REDIS_DB=0
69+
# Valkey settings (Redis-compatible open source alternative)
70+
VALKEY_HOST=valkey
71+
VALKEY_PORT=6379
72+
VALKEY_PASSWORD=change_this_secure_valkey_password
73+
VALKEY_DB=0
6874

6975
# =============================================================================
7076
# FILE STORAGE CONFIGURATION
@@ -215,11 +221,10 @@ DEV_VERBOSE_LOGGING=true
215221
# =============================================================================
216222

217223
# Test database (for running tests)
218-
TEST_POSTGRES_HOST=localhost
219-
TEST_POSTGRES_PORT=5433
220-
TEST_POSTGRES_DB=ffprobe_test
221-
TEST_POSTGRES_USER=test
222-
TEST_POSTGRES_PASSWORD=test
224+
TEST_DB_TYPE=sqlite
225+
TEST_DB_PATH=/tmp/ffprobe_test.db
226+
TEST_VALKEY_HOST=localhost
227+
TEST_VALKEY_PORT=6380
223228

224229
# =============================================================================
225230
# LOCAL AI/LLM CONFIGURATION

Dockerfile.btbn

Lines changed: 0 additions & 151 deletions
This file was deleted.

README.md

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
[![Production Ready](https://img.shields.io/badge/production-ready-green.svg)](PRODUCTION_READINESS_REPORT.md)
1515
[![QC Analysis](https://img.shields.io/badge/QC-20%20Categories-blue.svg)](#advanced-quality-control-features)
16-
[![Docker](https://img.shields.io/badge/docker-latest%20compose-blue.svg)](docs/deployment/modern-docker-compose.md)
16+
[![Docker](https://img.shields.io/badge/docker-ready--to--deploy-blue.svg)](docker-image/QUICK_START.md)
1717

1818
## 🧠 Core GenAI Differentiators
1919

@@ -106,16 +106,17 @@ curl http://localhost:8080/api/v1/analysis/{id} | jq '.llm_report'
106106
## 📋 System Requirements
107107

108108
- **Docker** 24.0+ with Compose
109-
- **4GB RAM** minimum (6GB recommended)
110-
- **10GB disk space** for models and data
109+
- **2GB RAM** minimum (4GB recommended)
110+
- **5GB disk space** for models and data
111111
- **Internet connection** for initial setup
112+
- **No external database required** - SQLite embedded by default
112113

113114
## 🏗️ Architecture
114115

115116
```
116117
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
117-
│ FFprobe API │───▶│ PostgreSQL │ Redis
118-
│ (Latest) │ │ (Database) │ │ (Cache)
118+
│ FFprobe API │───▶│ SQLite │ Valkey
119+
│ (Latest) │ │ (Embedded DB) │ │ (Redis-compatible)
119120
└─────────┬───────┘ └─────────────────┘ └─────────────────┘
120121
121122
@@ -134,8 +135,8 @@ curl http://localhost:8080/api/v1/analysis/{id} | jq '.llm_report'
134135
```bash
135136
make minimal
136137
```
137-
- **Ultra-lightweight**: Only 4 core services
138-
- **Services**: API + PostgreSQL + Redis + Ollama
138+
- **Ultra-lightweight**: Only 3 core services
139+
- **Services**: API + Valkey + Ollama (SQLite embedded)
139140
- **Memory**: ~2-3GB total
140141
- **Perfect for**: Development, testing, resource-constrained environments
141142

@@ -153,7 +154,7 @@ make quick
153154
make dev
154155
```
155156
- Hot reload and debugging
156-
- Database/Redis admin tools
157+
- Database/Valkey admin tools
157158
- File browser interface for uploads
158159
- Development-focused tooling
159160

@@ -166,6 +167,7 @@ make prod
166167
- Automated backups
167168
- **Traefik**: Combined reverse proxy + automatic SSL
168169
- Enterprise-ready infrastructure
170+
- **Database**: SQLite with WAL mode for production performance
169171

170172
## 🔍 Advanced Quality Control Features
171173

@@ -210,8 +212,8 @@ The FFprobe API provides **comprehensive professional QC analysis** with industr
210212
## ⚡ Optimized Component Architecture
211213

212214
### **Essential Components** (All Deployments)
213-
- **PostgreSQL 16**: Primary database
214-
- **Redis 7**: High-performance caching
215+
- **SQLite**: Embedded database (zero configuration)
216+
- **Valkey 8**: High-performance caching (Redis-compatible, open source)
215217
- **Ollama**: Local AI processing (Gemma 3 270M + Phi-3 Mini)
216218
- **FFprobe API**: Core video analysis service
217219

@@ -222,12 +224,12 @@ The FFprobe API provides **comprehensive professional QC analysis** with industr
222224
- **Backup Service**: Automated data protection
223225

224226
### **Development Tools** (Development Only)
225-
- **Adminer**: Database administration
226-
- **Redis Commander**: Redis administration
227+
- **SQLite Browser**: Database administration
228+
- **Valkey Commander**: Cache administration
227229
- **File Browser**: Upload management
228230

229231

230-
**Resource Savings**: ~150MB RAM, faster startup, fewer containers to manage
232+
**Resource Savings**: ~300MB RAM, faster startup, fewer containers to manage
231233

232234
## 📖 API Documentation
233235

@@ -447,7 +449,7 @@ make logs # View all logs
447449
make dev # Development environment
448450
make shell # Access API container
449451
make db-shell # Access database
450-
make redis-shell # Access Redis
452+
make valkey-shell # Access Valkey
451453

452454
# Maintenance
453455
make update # Update to latest versions
@@ -534,13 +536,14 @@ curl http://localhost:11434/api/version
534536
docker compose exec ollama ollama pull gemma3:270m
535537
```
536538

537-
## 📚 Additional Documentation
539+
## 📚 Documentation
538540

539-
- [Docker Compose Guide](docs/deployment/modern-docker-compose.md)
540-
- [FFmpeg Management](docs/operations/ffmpeg-management.md)
541-
- [AI Model Setup](docs/tutorials/local-llm-setup.md)
542-
- [Production Deployment](docs/deployment/README.md)
543-
- [API Reference](docs/api/README.md)
541+
- **[🚀 Quick Start (Docker)](docker-image/QUICK_START.md)** - One-command deployment
542+
- **[📖 Complete Documentation](docs/README.md)** - Full documentation index
543+
- **[📡 API Reference](docs/api/README.md)** - REST and GraphQL APIs
544+
- **[🔍 QC Features](QC_ANALYSIS_LIST.md)** - All 20+ quality control categories
545+
- **[🏢 Production Guide](docs/deployment/README.md)** - Enterprise deployment
546+
- **[🤖 AI Setup](docs/tutorials/local-llm-setup.md)** - Local AI analysis setup
544547

545548
## 🤝 Contributing
546549

0 commit comments

Comments
 (0)