diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 9ba1fff..008d057 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -1,12 +1,8 @@ name: Build and Publish Container Image on: - push: - branches: [ main ] - tags: [ 'v*' ] release: types: [ published ] - workflow_dispatch: jobs: build-and-push: @@ -18,6 +14,8 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v4 + with: + ref: ${{ github.event.release.tag_name }} - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -37,12 +35,11 @@ jobs: uses: docker/metadata-action@v5 with: images: ghcr.io/${{ github.repository_owner }}/nodecast-tv + flavor: latest=false tags: | type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - type=sha - type=ref,event=branch - type=raw,value=latest,enable={{is_default_branch}} + type=semver,pattern={{major}}.{{minor}},enable=${{ !github.event.release.prerelease }} + type=raw,value=latest,enable=${{ !github.event.release.prerelease }} - name: Build and push Container image uses: docker/build-push-action@v5 diff --git a/README.md b/README.md index f16bce7..40dc59f 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,8 @@ nodecast-tv is a modern, web-based IPTV player featuring Live TV, EPG, Movies (V You can run nodecast-tv easily using Docker. +Container images are published to `ghcr.io/technomancer702/nodecast-tv` when a GitHub release is published. Use a version tag such as `v2.2.1` for the release: stable releases publish image tags `2.2.1`, `2.2`, and `latest`; prereleases publish their full version tag without updating `latest` or the minor-version alias. Branch pushes, tag pushes alone, and draft releases do not publish images. + 1. Create a `docker-compose.yml` file (or copy the one from this repo): ```yaml