# docker-compose.sqlite.yml # Development/testing configuration using SQLite instead of PostgreSQL # Usage: docker-compose -f docker-compose.sqlite.yml up # # NOTE: SQLite does not support concurrent writes well. # This configuration is for development/testing only. # For production, use the main docker-compose.yml with PostgreSQL. services: # Redis message broker for Celery redis: image: redis:7-alpine ports: - "6379:6379" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 restart: unless-stopped # Flask web application (SQLite mode) web: build: . ports: - "5000:5000" environment: - DB_TYPE=sqlite - CELERY_BROKER_URL=redis://redis:6379/0 - CELERY_RESULT_BACKEND=redis://redis:6379/0 - RUN_IMAGE_IMPORTER=0 # Disable old polling worker volumes: - ./imagerepo/db/:/db - ./imagerepo/images:/images - ./import:/import - ./migrations:/app/migrations depends_on: redis: condition: service_healthy restart: unless-stopped # Single Celery worker (SQLite needs single worker to avoid write conflicts) celery-worker: build: . command: celery -A app.celery_app:celery worker --loglevel=info -Q scan,import,thumbnail,sidecar,default --concurrency=1 environment: - DB_TYPE=sqlite - CELERY_BROKER_URL=redis://redis:6379/0 - CELERY_RESULT_BACKEND=redis://redis:6379/0 volumes: - ./imagerepo/db/:/db - ./imagerepo/images:/images - ./import:/import depends_on: redis: condition: service_healthy restart: unless-stopped # Celery Beat scheduler (optional for development) celery-beat: build: . command: celery -A app.celery_app:celery beat --loglevel=info environment: - DB_TYPE=sqlite - CELERY_BROKER_URL=redis://redis:6379/0 - CELERY_RESULT_BACKEND=redis://redis:6379/0 - IMPORT_EVERY_SECONDS=28800 volumes: - ./imagerepo/db/:/db depends_on: - redis - celery-worker restart: unless-stopped # Flower monitoring (optional) flower: build: . command: celery -A app.celery_app:celery flower --port=5555 ports: - "5555:5555" environment: - CELERY_BROKER_URL=redis://redis:6379/0 - CELERY_RESULT_BACKEND=redis://redis:6379/0 depends_on: - redis restart: unless-stopped