Files
backup-tool/openspec/changes/dockerize-and-pyproject-setup/tasks.md
T
alex cc694e71b4 feat: dockerize app and convert to pyproject setup
- 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
2026-05-11 22:50:11 +02:00

33 lines
1.5 KiB
Markdown

## 1. Python Packaging (pyproject.toml)
- [x] 1.1 Create `backend/pyproject.toml` with project metadata, dependencies, and build system
- [x] 1.2 Migrate all dependencies from `requirements.txt` to `pyproject.toml`
- [x] 1.3 Add optional dependency groups: `[dev]` for pytest, `[prod]` for gunicorn
- [x] 1.4 Add console script entry point for `backup-tool` CLI
- [x] 1.5 Test `pip install -e .` works correctly
- [x] 1.6 Remove `backend/requirements.txt` or mark as deprecated
## 2. Docker Configuration
- [x] 2.1 Create `.dockerignore` to optimize build context
- [x] 2.2 Create `backend/Dockerfile` with multi-stage build (builder + runtime)
- [x] 2.3 Create `docker-compose.yml` for full stack orchestration
- [x] 2.4 Add docker-compose profiles for dev (hot reload) and prod modes
- [x] 2.5 Ensure SQLite database and backups persist across container restarts
## 3. Integration and Testing
- [x] 3.1 Test Docker image builds successfully from project root
- [x] 3.2 Test `docker compose up` starts both backend and frontend
- [x] 3.3 Verify backend hot reload works in development mode
- [x] 3.4 Verify production mode serves static frontend files
- [x] 3.5 Run existing test suite inside Docker container
- [x] 3.6 Test data persistence: create backup, restart containers, verify data exists
## 4. Documentation
- [x] 4.1 Update `README.md` with Docker installation instructions
- [x] 4.2 Document environment variables for Docker configuration
- [x] 4.3 Add troubleshooting section for common Docker issues
- [x] 4.4 Document both manual and Docker deployment paths