cc694e71b4
- Add pyproject.toml with proper metadata and dependency groups - Create multi-stage Dockerfile for backend - Add docker-compose.yml with dev/prod profiles - Create frontend Dockerfile with nginx - Add .dockerignore for optimized builds - Update README with Docker instructions and troubleshooting - Remove requirements.txt in favor of pyproject.toml - Ensure data persistence with Docker volumes
1.9 KiB
1.9 KiB
Why
The current backup tool uses a simple requirements.txt for dependency management and lacks containerization. This makes deployment inconsistent across environments and complicates dependency resolution. Converting to a proper pyproject.toml setup and adding Docker support will provide reproducible builds, standardized packaging, and one-command deployment for users.
What Changes
- Convert backend to pyproject.toml: Replace
requirements.txtwith a modernpyproject.tomlincluding project metadata, dependencies, build system, and optional dev/test dependencies - Add Dockerfile: Multi-stage Docker build for the Python backend with proper layer caching
- Add docker-compose.yml: Orchestrate backend + frontend services with volume mounts and environment configuration
- Add .dockerignore: Optimize build context and exclude unnecessary files
- Update README: Add Docker deployment instructions
- Frontend containerization (optional): Dockerfile for production frontend build served via nginx or integrated into backend static serving
Capabilities
New Capabilities
docker-deployment: Container-based deployment with Docker and docker-compose for consistent environmentspython-packaging: Modern Python packaging with pyproject.toml, proper dependency groups, and build tooling
Modified Capabilities
- None (this is a build/deployment improvement, no spec-level behavior changes)
Impact
- Build system: Replaces
requirements.txtwithpyproject.toml(standard modern Python practice) - Deployment: New Docker-based deployment path alongside existing manual setup
- CI/CD: Enables standardized container builds for CI pipelines
- Developer experience:
docker compose upto start full stack instead of manual venv + npm setup - No API changes: All existing endpoints and functionality remain unchanged