|
1 | | -## Debian with Java 8 and FFMPEG |
| 1 | +## Java with FFMPEG |
2 | 2 |
|
3 | | -[](https://github.com/aem-design/docker-java-ffmpeg/actions/workflows/build.yml) |
| 3 | +[](https://github.com/aem-design/docker-java-ffmpeg/actions/workflows/build.yml) |
4 | 4 | [](https://github.com/aem-design/java-ffmpeg) |
5 | 5 | [](https://github.com/aem-design/java-ffmpeg) |
6 | 6 | [](https://github.com/aem-design/java-ffmpeg) |
|
9 | 9 | [](https://hub.docker.com/r/aemdesign/java-ffmpeg) |
10 | 10 | [](https://github.com/aem-design/java-ffmpeg) |
11 | 11 |
|
12 | | -This is docker image based on [aemdesign/oracle-jdk](https://hub.docker.com/r/aemdesign/oracle-jdk/) with AEM base libs |
| 12 | +Docker image based on [aemdesign/oracle-jdk](https://hub.docker.com/r/aemdesign/oracle-jdk/) with FFMPEG and media processing libraries. |
13 | 13 |
|
| 14 | +Multi-architecture support (amd64/arm64). |
14 | 15 |
|
15 | | -## Self Hosted runner |
| 16 | +## Docker Images |
16 | 17 |
|
17 | | -To build and deploy this repo you will need to add a self-hosted runner. |
| 18 | +Images are available on both registries: |
| 19 | +- **Docker Hub**: `aemdesign/java-ffmpeg` |
| 20 | +- **GitHub Container Registry**: `ghcr.io/aem-design/java-ffmpeg` |
18 | 21 |
|
| 22 | +### Tags |
| 23 | + |
| 24 | +- `latest` - Latest build from main branch |
| 25 | +- `jdk17` - JDK 17 branch |
| 26 | +- Version tags (pushed when git tags are created) |
| 27 | + |
| 28 | +### Included Packages |
| 29 | + |
| 30 | +* **imagemagick** - Image conversion and processing |
| 31 | +* **libx** - X11 libraries for forms processing |
| 32 | +* **ffmpeg** - Video and audio processing |
| 33 | +* **buildtools** - Build utilities for media libraries |
| 34 | +* **xvid** - Video codec library |
| 35 | + |
| 36 | +## Development |
| 37 | + |
| 38 | +### CI/CD Pipeline |
| 39 | + |
| 40 | +The project uses GitHub Actions for continuous integration and deployment: |
| 41 | + |
| 42 | +- **Multi-platform builds**: Images are built for both `linux/amd64` and `linux/arm64` |
| 43 | +- **Automated testing**: Java and FFMPEG versions are verified before pushing |
| 44 | +- **Image analysis**: Uses `dive` for Docker image layer analysis |
| 45 | +- **Dual registry push**: Automatically pushes to Docker Hub and GitHub Container Registry |
| 46 | +- **Git tag versioning**: Pushing a git tag automatically creates a corresponding Docker image tag |
| 47 | + |
| 48 | +### Monitoring Pipeline Status |
| 49 | + |
| 50 | +Use the `get-action-logs.ps1` PowerShell script to monitor GitHub Actions workflow status and logs. |
| 51 | + |
| 52 | +#### Prerequisites |
| 53 | + |
| 54 | +- GitHub CLI (`gh`) must be installed and authenticated |
| 55 | +- Install: `winget install --id GitHub.cli` |
| 56 | +- Authenticate: `gh auth login` |
| 57 | + |
| 58 | +#### Quick Start |
| 59 | + |
| 60 | +```powershell |
| 61 | +# Check current commit's pipeline status (saves logs to logs/ folder by default) |
| 62 | +.\get-action-logs.ps1 |
| 63 | +
|
| 64 | +# Wait for pipeline to complete |
| 65 | +.\get-action-logs.ps1 -WaitForCompletion |
| 66 | +
|
| 67 | +# Show logs in console |
| 68 | +.\get-action-logs.ps1 -ShowLogs |
| 69 | +
|
| 70 | +# Force re-download logs |
| 71 | +.\get-action-logs.ps1 -Force |
19 | 72 | ``` |
20 | | -docker run -d --restart always --name github-runner-aemdesign -e RUNNER_NAME_PREFIX="ghraemd" -e ACCESS_TOKEN="<YOUR PERSONAL ACCESS TOKEN>" -e RUNNER_WORKDIR="/tmp/github-runner-aemdesign" -e RUNNER_GROUP="self-hosted" -e RUNNER_SCOPE="org" -e ORG_NAME="aem-design" -e LABELS="aemdesign,github-runner" -v /var/run/docker.sock:/var/run/docker.sock -v ${PWD}:/tmp/github-runner-your-repo myoung34/github-runner:latest |
| 73 | + |
| 74 | +See full documentation: `Get-Help .\get-action-logs.ps1 -Full` |
| 75 | + |
| 76 | +### Creating a New Release |
| 77 | + |
| 78 | +```bash |
| 79 | +# Tag the commit |
| 80 | +git tag 1.0.0 |
| 81 | +git push origin 1.0.0 |
21 | 82 | ``` |
22 | 83 |
|
23 | | -### Included Packages |
| 84 | +This will automatically build and push versioned Docker images to both registries. |
24 | 85 |
|
25 | | -Following is the list of packages included |
| 86 | +## License |
26 | 87 |
|
27 | | -* imagemagic - for converting assets |
28 | | -* libx - for forms processing |
29 | | -* buildtools - for building xvid |
30 | | -* xvid - for building xvid |
| 88 | +See [LICENSE](LICENSE) file for details. |
31 | 89 |
|
0 commit comments