This repository has been archived on 2026-05-31. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
imagerepo/docker-compose.sqlite.yml
T

87 lines
2.4 KiB
YAML

# 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