- Extract 8 common route patterns into factory functions in routes/shared.py (favourite, upload, replace cover, save defaults, clone, save JSON, get missing, clear covers) — removes ~1,100 lines across 9 route files - Extract generic _sync_category() in sync.py — 7 sync functions become one-liner wrappers, removing ~350 lines - Extract shared detail page JS into static/js/detail-common.js — all 9 detail templates now call initDetailPage() with minimal config - Extract layout inline JS into static/js/layout-utils.js (~185 lines) - Extract library toolbar JS into static/js/library-toolbar.js - Fix finalize missing-image bug: raise RuntimeError instead of logging warning so job is marked failed - Fix missing scheduler default in _default_checkpoint_data() - Fix N+1 query in Character.get_available_outfits() with batch IN query - Convert all print() to logger across services and routes - Add missing tags display to styles, scenes, detailers, checkpoints detail - Update delete buttons to use trash.png icon with solid red background - Update CLAUDE.md to reflect new architecture Net reduction: ~1,600 lines Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
48 lines
1.3 KiB
YAML
48 lines
1.3 KiB
YAML
services:
|
|
danbooru-mcp:
|
|
build: ./tools/danbooru-mcp
|
|
image: danbooru-mcp:latest
|
|
stdin_open: true
|
|
restart: unless-stopped
|
|
|
|
character-mcp:
|
|
build: https://git.liveaodh.com/aodhan/character-mcp.git
|
|
image: character-mcp:latest
|
|
stdin_open: true
|
|
restart: unless-stopped
|
|
volumes:
|
|
# Persistent cache for character data
|
|
- character-cache:/root/.local/share/character-mcp
|
|
|
|
app:
|
|
build: .
|
|
ports:
|
|
- "5782:5000"
|
|
environment:
|
|
# ComfyUI runs on the Docker host
|
|
COMFYUI_URL: http://10.0.0.200:8188 # Compose manages danbooru-mcp — skip the app's auto-start logic
|
|
SKIP_MCP_AUTOSTART: "true"
|
|
# Enable debug logging
|
|
FLASK_DEBUG: "1"
|
|
LOG_LEVEL: "DEBUG"
|
|
volumes:
|
|
# Persistent data
|
|
- ./data:/app/data
|
|
- ./static/uploads:/app/static/uploads
|
|
- ./instance:/app/instance
|
|
- ./flask_session:/app/flask_session
|
|
# Model files
|
|
- /Volumes/ImageModels:/ImageModels
|
|
# Docker socket so the app can run danbooru-mcp tool containers
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
extra_hosts:
|
|
# Resolve host.docker.internal on Linux hosts
|
|
- "host.docker.internal:host-gateway"
|
|
depends_on:
|
|
- danbooru-mcp
|
|
- character-mcp
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
character-cache:
|