docs: remove legacy Docker networking workarounds from README files

Main README.md changes:
- Update Python requirement from 3.8+ to 3.11+ (matching Dockerfile)
- Remove docker-dev-host and legacy networking workarounds
- Add container registry workflow documentation
- Simplify installation instructions (remove duplicate manual setup)
- Update Docker section to focus on modern container workflows
- Add registry-push and registry commands to examples
- Streamline project evolution section

Docker README.md changes:
- Remove all legacy networking workaround documentation
- Remove docker-dev-host, docker-prod-host, docker-reset targets
- Remove docker-build-legacy references
- Add modern container registry workflow section
- Update troubleshooting to focus on common Docker issues
- Add uv-optimized build information
- Update status from 'networking issues' to 'modern Docker support'
- Add container registry authentication and workflow docs

Both files now reflect the modern, clean Docker setup without legacy workarounds.
This commit is contained in:
William Valentin
2025-09-14 17:35:36 -07:00
parent 1fb8168b6a
commit 302a3d545c
2 changed files with 116 additions and 131 deletions

View File

@@ -3,7 +3,7 @@
A comprehensive tool for creating, validating, previewing, and downloading Linux systemd unit files. UnitForge provides both a command-line interface and a simple web UI for managing systemd service configurations.
![UnitForge Logo](https://img.shields.io/badge/UnitForge-systemd%20unit%20files-blue?style=for-the-badge)
[![Python](https://img.shields.io/badge/Python-3.8+-green?style=flat-square)](https://python.org)
[![Python](https://img.shields.io/badge/Python-3.11+-green?style=flat-square)](https://python.org)
[![FastAPI](https://img.shields.io/badge/FastAPI-Web%20Interface-red?style=flat-square)](https://fastapi.tiangolo.com)
[![uv](https://img.shields.io/badge/uv-fast%20Python%20packaging-orange?style=flat-square)](https://github.com/astral-sh/uv)
[![MIT License](https://img.shields.io/badge/License-MIT-yellow?style=flat-square)](LICENSE)
@@ -27,7 +27,7 @@ A comprehensive tool for creating, validating, previewing, and downloading Linux
### Prerequisites
- Python 3.8 or higher
- Python 3.11 or higher
- [uv](https://github.com/astral-sh/uv) package manager (recommended for fast installs)
- Linux system with systemd (for deployment)
@@ -60,12 +60,7 @@ source .venv/bin/activate
uv pip install -e ".[dev,web]"
```
3. **Alternative manual setup:**
```bash
uv venv .venv
source .venv/bin/activate
uv pip install -e ".[dev,web]"
```
### Running the Web Interface
@@ -80,11 +75,8 @@ make server
# Custom configuration
./start-server.sh --host 127.0.0.1 --port 3000 --log-level debug
# Docker development (if networking works)
# Docker development
make docker-dev
# Docker with host networking (workaround)
make docker-dev-host
```
Access the web interface at: **http://localhost:8000**
@@ -375,10 +367,10 @@ uv pip show <pkg> # Show package info
**Docker Development:**
```bash
make docker-build # Build images (may fail due to networking)
make docker-build # Build images
make docker-dev # Development environment
make docker-dev-host # Development with host networking (workaround)
make docker-clean # Clean up containers
make registry-push # Build and push to container registry
```
### Code Style
@@ -390,7 +382,7 @@ make docker-clean # Clean up containers
## 🐳 Docker Support
⚠️ **Current Status**: Docker networking issues prevent standard container builds. Use native development instead.
UnitForge provides full Docker support with modern container workflows.
### Container Templates
UnitForge includes templates for containerized services:
@@ -407,22 +399,28 @@ UnitForge includes templates for containerized services:
--param image=registry.example.com/myapp:v1.0
```
### Docker Commands (when networking is fixed)
### Docker Commands
```bash
make docker-build # Build images
make docker-dev # Development environment
make docker-prod # Production environment
make docker-dev-host # Development with host networking (workaround)
make docker-clean # Clean up containers
make registry-push # Build and push to container registry
make docker-login # Login to container registry
```
**Recommended**: Use native development until Docker networking is resolved:
### Container Registry Support
```bash
source .venv/bin/activate
./start-server.sh
```
# Configure registry in .env file
CONTAINER_REGISTRY_URL=http://gitea-http.taildb3494.ts.net/will/unitforge
CONTAINER_TAG=latest
See `docker/README.md` for detailed Docker troubleshooting and workarounds.
# Build and push to registry
make registry-push
# Pull from registry
make docker-pull
```
## 🔍 Validation Features
@@ -437,26 +435,15 @@ UnitForge provides comprehensive validation:
## 🚀 Performance & Tooling
### Why uv?
### Modern Python Tooling with uv
UnitForge has been fully migrated to use [uv](https://github.com/astral-sh/uv) for blazing-fast Python package management:
UnitForge uses [uv](https://github.com/astral-sh/uv) for blazing-fast Python package management:
- **10-100x faster** than pip for installs
- **Rust-powered** dependency resolution and caching
- **Drop-in replacement** for pip with better UX
- **Parallel downloads** and installs
- **Consistent** cross-platform behavior
- **Modern Python tooling** with `pyproject.toml` support
### Migration Benefits
The migration from traditional pip/npm tooling to uv provides:
-**Faster CI/CD**: Dependencies install in seconds, not minutes
- 🔒 **Better reproducibility**: More reliable dependency resolution
- 🎯 **Modern standards**: Full `pyproject.toml` configuration
- 🐳 **Optimized Docker**: Smaller images with faster builds
- 🛠️ **Better DX**: Integrated tooling with consistent commands
- **Container-optimized** builds and deployments
- **Consistent** cross-platform behavior
### Make Commands
@@ -468,7 +455,8 @@ The migration from traditional pip/npm tooling to uv provides:
| `make test-cov` | Tests with coverage | Standard |
| `make lint` | Run all linters | Standard |
| `make format` | Format code | Standard |
| `make docker-dev` | Docker development | 5x faster builds |
| `make docker-dev` | Docker development | Standard |
| `make registry-push` | Build and push to registry | Fast |
| `make clean` | Clean cache files | Standard |
| `make status` | Show project status | Standard |
@@ -517,29 +505,15 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
## 📈 Project Evolution
**v1.0** - Initial release with traditional pip/venv tooling
**v1.1** - ⚡ **Complete migration to uv** - No pip fallbacks, pure uv workflow:
**v1.0** - Initial release
**v1.1** - ⚡ **Modern Python tooling** - Complete migration to uv, container registry support:
### 🚀 Performance Improvements
- Setup time: ~2-5 minutes → ~30 seconds (**5x faster**)
- CI/CD pipeline: ~10-15 minutes → ~3-5 minutes (**3x faster**)
- Docker builds: ~5-10 minutes → ~1-2 minutes (**5x faster**)
- Package installs: ~1-2 minutes → ~5-10 seconds (**12x faster**)
### 🛠️ Tooling Modernization
- **Eliminated pip fallbacks** - Pure uv-only workflow
- **Modern pyproject.toml** - Replaced setup.py entirely
- **Comprehensive Makefile** - 20+ development commands
- **GitHub Actions optimization** - uv-native CI/CD
- **Docker multi-stage builds** - uv-optimized containers
- **Pre-commit automation** - Quality gates with uv integration
### 🎯 Developer Experience
- **One-command setup**: `make setup-dev` handles everything
- **Consistent environments**: No more "works on my machine"
- **Faster feedback loops**: Tests, linting, building all accelerated
- **Modern standards**: Following latest Python packaging best practices
- **No legacy dependencies**: Clean, fast, reliable toolchain
### 🚀 Key Features
- **Lightning-fast setup**: `make setup-dev` handles everything in ~30 seconds
- **Container registry**: Native support for Gitea/Docker registries
- **Modern packaging**: Pure `pyproject.toml` configuration
- **Developer experience**: One-command workflows for all operations
- **Quality automation**: Pre-commit hooks and comprehensive testing
## 🔗 Links