This document outlines the planned development phases for qnap-docker, focusing on expanding from comprehensive Docker management to advanced QNAP-specific features and operational capabilities.
qnap-docker v0.2.0 achieves complete Docker API coverage with 23+ commands covering:
- β Container Lifecycle (run, ps, start, stop, restart, rm)
- β Container Operations (logs, exec, stats, inspect)
- β Image Management (pull, images, rmi, export, import)
- β Volume Management (volume ls/create/rm/inspect/prune)
- β Network Management (network ls/create/rm/inspect/connect/disconnect/prune)
- β System Operations (system df/info/prune)
- β Multi-container Deployment (deploy with docker-compose)
Target: v0.2.2 (October 2025)
Objective: Expand integration test suite to cover all v0.2.x commands with real QNAP hardware validation.
Current Gap: While v0.2.0 provides 40+ commands with unit tests, integration tests only cover basic deployment. Need comprehensive end-to-end testing for production confidence.
Integration Tests to Add:
- Container Operations: logs, exec, start/stop/restart, stats with real container scenarios
- Image Management: pull, images, rmi with registry interactions and cleanup verification
- Volume Management: volume lifecycle, mounting scenarios, data persistence validation
- Network Management: network creation, container connectivity, multi-container communication
- System Operations: system df/info/prune with actual resource cleanup verification
- QNAP-Specific: ZFS volume detection, Container Station path variations, multi-CACHEDEV testing
Quality Goals: 90%+ integration test coverage, parallel execution, comprehensive error scenario testing.
Target: v0.3.0 (Q4 2025)
Objective: Transform basic deploy into comprehensive compose lifecycle management.
# Compose lifecycle management
qnap-docker compose up [SERVICE...] # Start services
qnap-docker compose down [PROJECT] # Stop and remove services
qnap-docker compose restart [SERVICE] # Restart specific services
qnap-docker compose pause/unpause # Pause/unpause services
# Compose operations
qnap-docker compose ps [PROJECT] # List compose services
qnap-docker compose logs [SERVICE] # Service-specific logs
qnap-docker compose exec [SERVICE] CMD # Execute in compose service
qnap-docker compose top [SERVICE] # Show running processes
# Compose management
qnap-docker compose pull [SERVICE] # Pull service images
qnap-docker compose build [SERVICE] # Build services (if Dockerfile)
qnap-docker compose config # Validate and view compose config- Service-level operations: Target specific services within compose projects
- Project management: List, switch between, and manage multiple compose projects
- Health monitoring: Track service health and dependencies
- Rolling updates: Zero-downtime service updates
- Environment management: Better handling of multiple environment files
- Development workflows with multiple services
- Production deployments with blue/green updates
- Service-specific debugging and maintenance
- Complex multi-container application management
Target: v0.4.0 (Q1 2026)
Objective: Enable management of multiple QNAP NAS devices from a single CLI.
# Profile management
qnap-docker profile add production --host nas1.local --user admin
qnap-docker profile add staging --host nas2.local --user admin
qnap-docker profile add development --host nas3.local --user admin
qnap-docker profile list
qnap-docker profile set-default production
# Profile-specific operations
qnap-docker --profile staging ps
qnap-docker --profile production deploy app.yml
qnap-docker profile sync development production # Copy containers# Container migration
qnap-docker migrate web-server --from production --to staging
qnap-docker backup create --profile production --all-containers
qnap-docker backup restore backup.tar --to staging
# Multi-NAS monitoring
qnap-docker stats --all-profiles
qnap-docker ps --profile "*" # All profiles# ~/.qnap-docker/profiles.yaml
profiles:
production:
host: nas1.local
user: admin
ssh_key_path: ~/.ssh/prod_rsa
primary_volume: ZFS530_DATA
staging:
host: nas2.local
user: admin
ssh_key_path: ~/.ssh/staging_rsa
primary_volume: CACHEDEV1_DATA
default_profile: production- Production/staging/development environments
- Container migration between QNAP NAS devices
- Multi-site deployments
- Centralized management of multiple devices
Target: v0.5.0 (Q2 2026)
Objective: Advanced operational capabilities for production environments.
# Container health
qnap-docker health [CONTAINER] # Health check status
qnap-docker events --follow # Real-time Docker events
qnap-docker top [CONTAINER] # Running processes in container
# Advanced monitoring
qnap-docker monitor start # Start monitoring daemon
qnap-docker monitor dashboard # Launch monitoring dashboard
qnap-docker monitor alerts # Configure alerting# Automated backup workflows
qnap-docker backup schedule daily --containers "*" --volumes
qnap-docker backup create production-backup --include-config
qnap-docker backup list --remote qnap://backup-station
qnap-docker backup restore latest --selective web-server,database
# Disaster recovery
qnap-docker disaster-recovery plan create
qnap-docker disaster-recovery test
qnap-docker disaster-recovery execute# Resource constraints
qnap-docker run nginx --memory 512m --cpus 0.5 --swap 1g
qnap-docker update web-server --memory 1g --cpus 1.0
qnap-docker quota set --max-containers 50 --max-memory 8g
# Resource monitoring
qnap-docker resources overview
qnap-docker resources alerts --threshold cpu=80% memory=90%- Production monitoring and alerting
- Automated backup strategies
- Resource optimization and constraints
- Operational visibility and control
- QTS Integration: Native QTS package with web interface components
- File Station Integration: Direct file management from qnap-docker
- Notification Center: QTS notification integration for events
- App Center: Listed in official QNAP app repository
- Container Station Enhancement: Deep integration with Container Station
- Docker Swarm: Multi-node cluster management across QNAP devices
- Secrets Management: Encrypted secrets storage using QTS capabilities
- Registry Integration: Private registry setup and management
- CI/CD Integration: GitOps workflows with QNAP development tools
- Role-based Access: Multi-user management with QTS user integration
- Audit Logging: Comprehensive audit trail for compliance
- API Server: REST API for programmatic access
- Webhooks: Integration with external systems
- HA Support: High availability across multiple QNAP devices
| Version | Target Date | Focus Area | Key Features |
|---|---|---|---|
| v0.2.1 | Sep 2025 | Documentation & Polish | Roadmap, docs updates, email support removal |
| v0.2.2 | Oct 2025 | Integration Testing | Comprehensive test coverage for all v0.2.x commands |
| v0.3.0 | Q4 2025 | Enhanced Compose | Service-level operations, project management |
| v0.4.0 | Q1 2026 | Multi-NAS Support | Profile system, cross-NAS operations |
| v0.5.0 | Q2 2026 | Health & Operations | Monitoring, backup, resource management |
| v0.6.0 | Q3 2026 | QNAP Integration | QTS integration, native GUI components |
| v1.0.0 | Q4 2026 | Enterprise Ready | Advanced features, production hardening |
Development priorities will be adjusted based on:
- User Feedback: GitHub issues, discussions, and feature requests
- Usage Analytics: Most commonly used commands and workflows
- QNAP Updates: QTS updates and Container Station changes
- Docker Evolution: New Docker features and API changes
- π Feature Requests: Open GitHub issues with detailed use cases
- π¬ Discussions: Participate in GitHub discussions
- π§ͺ Beta Testing: Join beta testing programs for early releases
- π€ Contributions: Submit PRs for features you need
Alongside feature development, ongoing focus on:
- Test Coverage: Expand unit and integration test coverage
- Performance: Optimize SSH connection pooling and command batching
- Security: Implement proper host key verification, secrets management
- Documentation: Maintain comprehensive docs and examples
- Go Report Card: Maintain A+ rating with latest Go versions
- QNAP Compatibility: Ensure compatibility across QTS versions and hardware
This roadmap balances immediate user needs (Phase 5-6) with long-term vision (Phase 7+), ensuring qnap-docker evolves from a Docker management tool into a comprehensive QNAP container platform.
Priority: User-driven development based on real-world usage patterns and feedback from the QNAP community.