Document the Flutter SDK Docker images with: - Image variants and sizes - Comparison showing 75% smaller than alternatives - CI/CD examples for GitHub, GitLab, and Gitea - Security features (zero CVEs, SBOM, provenance) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
108 lines
2.3 KiB
Markdown
108 lines
2.3 KiB
Markdown
# 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
|
|
|
|
- `<variant>-latest` - Latest stable Flutter release
|
|
- `<variant>-<version>` - Specific Flutter version (e.g., `android-3.38.9`)
|
|
- `<variant>-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
|