diff --git a/README.md b/README.md new file mode 100644 index 0000000..860c823 --- /dev/null +++ b/README.md @@ -0,0 +1,107 @@ +# Flutter SDK Docker Images + +Minimal, secure Flutter SDK images for CI/CD pipelines. Built on [Wolfi](https://wolfi.dev) for a smaller footprint and zero CVEs. + +## Images + +| Variant | Use Case | Size | +|---------|----------|------| +| `svrnty/flutter-sdk:web-latest` | Web/WASM builds | ~800 MB | +| `svrnty/flutter-sdk:android-latest` | Android APK/AAB builds | ~1.7 GB | +| `svrnty/flutter-sdk:linux-latest` | Linux desktop builds | ~1.3 GB | + +### Size Comparison + +| Image | Size | +|-------|------| +| **svrnty/flutter-sdk:android** | **1.7 GB** | +| cirrusci/flutter:stable | 4.5 GB | +| ghcr.io/cirruslabs/flutter:stable | 6.8 GB | + +Up to **75% smaller** than alternatives. + +## Features + +- **Zero CVEs** - No critical, high, or medium vulnerabilities +- **Multi-arch** - Supports both `linux/amd64` and `linux/arm64` +- **Non-root** - Runs as unprivileged user (UID 65532) +- **Minimal** - Only includes dependencies needed for each platform +- **SBOM & Provenance** - Full supply chain attestations included + +## Usage + +### Web + +```bash +docker run --rm -v $(pwd):/app -w /app svrnty/flutter-sdk:web-latest \ + flutter build web +``` + +### Android + +```bash +docker run --rm -v $(pwd):/app -w /app svrnty/flutter-sdk:android-latest \ + flutter build apk +``` + +### Linux Desktop + +```bash +docker run --rm -v $(pwd):/app -w /app svrnty/flutter-sdk:linux-latest \ + flutter build linux +``` + +## CI/CD Examples + +### GitHub Actions + +```yaml +jobs: + build: + runs-on: ubuntu-latest + container: + image: svrnty/flutter-sdk:android-latest + steps: + - uses: actions/checkout@v4 + - run: flutter build apk --release +``` + +### GitLab CI + +```yaml +build: + image: svrnty/flutter-sdk:android-latest + script: + - flutter build apk --release +``` + +### Gitea Actions + +```yaml +jobs: + build: + runs-on: ubuntu-latest + container: + image: svrnty/flutter-sdk:android-latest + steps: + - uses: actions/checkout@v3 + - run: flutter build apk --release +``` + +## Tags + +- `-latest` - Latest stable Flutter release +- `-` - Specific Flutter version (e.g., `android-3.38.9`) +- `-dev` - Pre-release testing + +## Security + +All images are: +- Scanned with Docker Scout on every release +- Built with SBOM and SLSA provenance attestations +- Based on Wolfi (minimal attack surface) +- Automatically updated when new Flutter versions are released + +## License + +MIT