📋 Found CHANGELOG.md - extracting release notes...
✅ Using changelog entries for v2.1.1
Composr v2.1.1
🚀 Container Management Platform
Fixed
- Scheduled updates: gunicorn runs 4 worker processes, and the background update-checker thread was started at module import time - every worker ran its own independent copy, all reading the same settings/cache file and firing scheduled repulls/auto-updates for the same containers within seconds of each other. Concurrent
docker compose up --force-recreatecalls from sibling workers raced on the same container, and the previous stale-container retry (v1.8.3) only covered a single process's own interrupted attempt, not a sibling worker's simultaneous one. Production incident: dispatcharr, autoscan, and jellyfin left stuck inCreatedstate overnight. Now an exclusive non-blocking file lock ensures only one worker's thread runs the scheduler; the rest skip immediately. - Removed a fully-shadowed duplicate
start_container_update_checkerdefinition left over from an earlier edit - dead code, no behavior change.
🐳 Docker Images
docker pull vansmak/composr:2.1.1docker pull vansmak/composr:latest
🔧 Supported Platforms
- linux/amd64
- linux/arm64
- linux/arm/v7
📦 Installation
docker run -d \
--name composr \
-p 5003:5003 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /path/to/docker/projects:/app/projects \
-v /path/to/config/composr:/app/data \
vansmak/composr:2.1.1✨ Core Features
- Multi-host Docker container management
- Real-time container monitoring and control
- Docker Compose file editor with syntax highlighting
- Environment file management
- Image management across multiple hosts
- Backup and restore functionality
- Modern web interface with dark/light themes