Files
game-library/docker-compose.yml
Marius Mutu 4f83b8e73c Complete v2.0 transformation: Production-ready Flask application
Major Changes:
- Migrated from prototype to production architecture
- Implemented modular Flask app with models/services/web layers
- Added Docker containerization with docker-compose
- Switched to Pipenv for dependency management
- Built advanced parser extracting 63 real activities from INDEX_MASTER
- Implemented SQLite FTS5 full-text search
- Created minimalist, responsive web interface
- Added comprehensive documentation and deployment guides

Technical Improvements:
- Clean separation of concerns (models, services, web)
- Enhanced database schema with FTS5 indexing
- Dynamic filters populated from real data
- Production-ready configuration management
- Security best practices implementation
- Health monitoring and API endpoints

Removed Legacy Files:
- Old src/ directory structure
- Static requirements.txt (replaced by Pipfile)
- Test and debug files
- Temporary cache files

Current Status:
- 63 activities indexed across 8 categories
- Full-text search operational
- Docker deployment ready
- Production documentation complete

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-11 00:23:47 +03:00

47 lines
1.1 KiB
YAML

services:
# Data indexing service (runs once on startup)
indexer:
build: .
command: python scripts/index_data.py
volumes:
- ./data:/app/data:rw
- ./docs/INDEX_MASTER_JOCURI_ACTIVITATI.md:/app/data/INDEX_MASTER_JOCURI_ACTIVITATI.md:ro
environment:
- DATABASE_URL=/app/data/activities.db
- INDEX_MASTER_FILE=/app/data/INDEX_MASTER_JOCURI_ACTIVITATI.md
restart: "no"
networks:
- app-network
# Main web application
web:
build: .
ports:
- "5000:5000"
volumes:
- ./data:/app/data:rw
environment:
- FLASK_ENV=production
- FLASK_HOST=0.0.0.0
- FLASK_PORT=5000
- DATABASE_URL=/app/data/activities.db
- SECRET_KEY=${SECRET_KEY:-production-secret-key-change-me}
depends_on:
- indexer
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:5000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
networks:
- app-network
networks:
app-network:
driver: bridge
volumes:
app-data:
driver: local