Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
3eaa761
Feature: Automated configuration backups with scheduling
stlalpha Nov 27, 2025
3fb18ec
Enhancement: Respect user's 12h/24h time format preference in backup …
stlalpha Nov 27, 2025
6a9b528
fix: allow all IPv6 CIDRs by default
adrianmace Nov 29, 2025
43949c3
Added IPv6 port bind to nginx.conf
jordandalley Nov 30, 2025
641dcfc
Add sorting functionality to Group and M3U columns in Streams table
invalid-email-address Nov 30, 2025
cf08e54
Fix sorting functionality for Group and M3U columns
Dec 1, 2025
c57c7d6
Docs: Improved wording for DVR date/time formats.
SergeantPanda Dec 2, 2025
0571c68
Merge pull request #709 from Dispatcharr:dev
SergeantPanda Dec 2, 2025
5b19324
Release v0.13.0
actions-user Dec 2, 2025
f1320c9
Merge branch 'dev' of https://github.com/Dispatcharr/Dispatcharr into…
SergeantPanda Dec 2, 2025
92ced69
Merge pull request #698 from adrianmace/fix-ipv6-access-issues
SergeantPanda Dec 2, 2025
53a5047
Merge pull request #701 from jordandalley/nginx-add-ipv6-bind
SergeantPanda Dec 2, 2025
5e1ae23
docs: Update CHANGELOG
SergeantPanda Dec 2, 2025
f38fb36
Skip builds during documentation updates.
SergeantPanda Dec 2, 2025
3f9fd42
Update backup feature based on PR feedback
stlalpha Dec 3, 2025
70cf892
Use CustomTable component for backup list
stlalpha Dec 3, 2025
e64002d
Refactor BackupManager to match app table conventions
stlalpha Dec 3, 2025
042612c
Merge branch 'dev' of https://github.com/Dispatcharr/Dispatcharr into…
SergeantPanda Dec 3, 2025
81b6570
Fix name not sorting.
SergeantPanda Dec 3, 2025
5fce83f
style: Adjust table header and input components for consistent width
SergeantPanda Dec 3, 2025
6a96b6b
Merge pull request #707 from bobey6/main
SergeantPanda Dec 3, 2025
2de6ac5
changelog: Add sort buttons for 'Group' and 'M3U' columns in Streams …
SergeantPanda Dec 3, 2025
2a8ba91
perf: optimize EPG program parsing for multi-channel sources
SergeantPanda Dec 4, 2025
256ac2f
Enhancement: Clean up orphaned programs for unmapped EPG entries
SergeantPanda Dec 4, 2025
5693ee7
perf: optimize EPG program parsing and implement atomic database upda…
SergeantPanda Dec 4, 2025
6c8270d
Enhancement: Add support for 'extracting' status and display addition…
SergeantPanda Dec 4, 2025
3b34fb1
Fix: Fixes bug where Updated column wouldn't update in the EPG table …
SergeantPanda Dec 4, 2025
0d177e4
changelog: Change updated change to bug fix instead of change.
SergeantPanda Dec 4, 2025
c1d9601
Fix: Bulk channel editor confirmation dialog now shows the correct st…
SergeantPanda Dec 5, 2025
759569b
Enhancement: Add a priority field to EPGSource and prefer higher-prio…
SergeantPanda Dec 5, 2025
f3a901c
Security Fix - generate JWT on application init
dekzter Dec 6, 2025
10f329d
release notes for built
dekzter Dec 6, 2025
a912055
Release v0.13.1
actions-user Dec 6, 2025
b18bc62
merged in from main
dekzter Dec 6, 2025
d0edc3f
remove permission lines to see if this resolves lack of django secret…
dekzter Dec 7, 2025
3512c3a
Add DJANGO_SECRET_KEY environment variable to uwsgi configuration files
SergeantPanda Dec 8, 2025
cf37c6f
changelog: Updated changelog for 0.13.1
SergeantPanda Dec 8, 2025
2155229
Fix uwsgi command path in entrypoint script
SergeantPanda Dec 8, 2025
e2736ba
Reset umask after creating secret file.
SergeantPanda Dec 8, 2025
ce70b04
changelog: update changelog
SergeantPanda Dec 8, 2025
c03ddf6
Fixed verbiage for epg parsing status.
SergeantPanda Dec 8, 2025
43b55e2
first run at hiding disabled channels in channel profiles
dekzter Dec 8, 2025
62f5c32
Remove DJANGO_SECRET_KEY environment variable from uwsgi configuratio…
SergeantPanda Dec 8, 2025
98b29f9
changelog: Update verbiage
SergeantPanda Dec 8, 2025
ecbef65
Merge pull request #723 from Dispatcharr:dev
SergeantPanda Dec 8, 2025
4df4e5f
Release v0.14.0
actions-user Dec 9, 2025
69f9ecd
Bug Fix: Remove ipv6 binding from nginx config if ipv6 is not available.
SergeantPanda Dec 9, 2025
514e7e0
Bug fix: EPG API now returns correct date/time format for start/end f…
SergeantPanda Dec 9, 2025
e8fb01e
Removing unreachable code
Dec 9, 2025
806f782
Add proper ConfirmationDialog usage to BackupManager
stlalpha Dec 9, 2025
d718e5a
Implement timezone-aware backup scheduling
stlalpha Dec 9, 2025
5fbcaa9
Add custom cron expression support for backup scheduling
stlalpha Dec 9, 2025
c65df2d
Add real-time validation for cron expressions
stlalpha Dec 9, 2025
e71e6bc
Fix backup timestamp display to use UTC timezone
stlalpha Dec 9, 2025
1a350e7
Fix cron validation to support */N step notation
stlalpha Dec 9, 2025
d4fbc9d
Honor user date/time format preferences for backup timestamps
stlalpha Dec 9, 2025
901cc09
Align Advanced toggle below Scheduled Backups header
stlalpha Dec 9, 2025
53159bd
Improve Advanced toggle layout alignment
stlalpha Dec 9, 2025
3c76c72
Add Enabled/Disabled label to Advanced toggle
stlalpha Dec 9, 2025
70e574e
Add tests for cron expression functionality
stlalpha Dec 9, 2025
795934d
Give Created column flexible width to prevent wrapping
stlalpha Dec 9, 2025
8388152
Use system timezone for backup filenames
stlalpha Dec 9, 2025
0bfd06a
Merge remote-tracking branch 'origin/dev' into hide-disabled-channels
dekzter Dec 10, 2025
ea38c0b
advanced filtering for hiding disabled channels and viewing only empt…
dekzter Dec 11, 2025
3537c9e
Merge pull request #741 from Dispatcharr/hide-disabled-channels
dekzter Dec 12, 2025
0b09cd1
Merge pull request #725 from DawtCom/main
SergeantPanda Dec 12, 2025
dedd898
Changelog: Document removal of unreachable code path in m3u output
SergeantPanda Dec 12, 2025
58a6cde
Bug Fix: Fix handling of None values in xc_get_epg output to prevent …
SergeantPanda Dec 12, 2025
679adb3
changelog: Update changelog to reference github issue.
SergeantPanda Dec 12, 2025
1dc7700
Add timezone support for backup scheduling
stlalpha Dec 13, 2025
662c5ff
Reorganize simple mode backup scheduler layout
stlalpha Dec 14, 2025
bd6cf28
Clean up orphaned CrontabSchedule records
stlalpha Dec 14, 2025
4878e92
Merge pull request #488 from stlalpha/feature/automated-backups
SergeantPanda Dec 15, 2025
a60fd53
Merge branch 'dev' of https://github.com/Dispatcharr/Dispatcharr into…
SergeantPanda Dec 15, 2025
1b27472
changelog: Add automated configuration backup/restore system to chang…
SergeantPanda Dec 15, 2025
41642cd
Improve orphaned CrontabSchedule cleanup logic to avoid deleting in-u…
SergeantPanda Dec 15, 2025
48e7060
Bug Fix: VOD episode processing now correctly handles duplicate episo…
SergeantPanda Dec 16, 2025
748d5dc
Bug Fix: When multiple m3uepisoderelations for a requested episode ex…
SergeantPanda Dec 16, 2025
98a016a
Enhance series info retrieval to return unique episodes and improve r…
SergeantPanda Dec 16, 2025
7ea8439
Updated FloatingVideo.jsx
OkinawaBoss Dec 17, 2025
865ba43
Updated url path
OkinawaBoss Dec 17, 2025
2558ea0
Enhancement: Add VOD client stop functionality to Stats page
SergeantPanda Dec 17, 2025
382e4d2
Enhancement: Add Docker metadata extraction and annotations for impro…
SergeantPanda Dec 17, 2025
d65343d
Merge branch 'main' into OCI-docker-labels
SergeantPanda Dec 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,4 @@
LICENSE
README.md
data/
docker/data/
87 changes: 83 additions & 4 deletions .github/workflows/base-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,28 @@ jobs:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Extract metadata for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: |
ghcr.io/${{ needs.prepare.outputs.repo_owner }}/${{ needs.prepare.outputs.repo_name }}
docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${{ needs.prepare.outputs.repo_name }}
labels: |
org.opencontainers.image.title=${{ needs.prepare.outputs.repo_name }}
org.opencontainers.image.description=Your ultimate IPTV & stream Management companion.
org.opencontainers.image.url=https://github.com/${{ github.repository }}
org.opencontainers.image.source=https://github.com/${{ github.repository }}
org.opencontainers.image.version=${{ needs.prepare.outputs.branch_tag }}-${{ needs.prepare.outputs.timestamp }}
org.opencontainers.image.created=${{ needs.prepare.outputs.timestamp }}
org.opencontainers.image.revision=${{ github.sha }}
org.opencontainers.image.licenses=See repository
org.opencontainers.image.documentation=https://dispatcharr.github.io/Dispatcharr-Docs/
org.opencontainers.image.vendor=${{ needs.prepare.outputs.repo_owner }}
org.opencontainers.image.authors=${{ github.actor }}
maintainer=${{ github.actor }}
build_version=DispatcharrBase version: ${{ needs.prepare.outputs.branch_tag }}-${{ needs.prepare.outputs.timestamp }}

- name: Build and push Docker base image
uses: docker/build-push-action@v4
with:
Expand All @@ -113,6 +135,7 @@ jobs:
ghcr.io/${{ needs.prepare.outputs.repo_owner }}/${{ needs.prepare.outputs.repo_name }}:${{ needs.prepare.outputs.branch_tag }}-${{ needs.prepare.outputs.timestamp }}-${{ matrix.platform }}
docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${{ needs.prepare.outputs.repo_name }}:${{ needs.prepare.outputs.branch_tag }}-${{ matrix.platform }}
docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${{ needs.prepare.outputs.repo_name }}:${{ needs.prepare.outputs.branch_tag }}-${{ needs.prepare.outputs.timestamp }}-${{ matrix.platform }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
REPO_OWNER=${{ needs.prepare.outputs.repo_owner }}
REPO_NAME=${{ needs.prepare.outputs.repo_name }}
Expand Down Expand Up @@ -154,18 +177,74 @@ jobs:

# GitHub Container Registry manifests
# branch tag (e.g. base or base-dev)
docker buildx imagetools create --tag ghcr.io/${OWNER}/${REPO}:${BRANCH_TAG} \
docker buildx imagetools create \
--annotation "org.opencontainers.image.title=${{ needs.prepare.outputs.repo_name }}" \
--annotation "org.opencontainers.image.description=Your ultimate IPTV & stream Management companion." \
--annotation "org.opencontainers.image.url=https://github.com/${{ github.repository }}" \
--annotation "org.opencontainers.image.source=https://github.com/${{ github.repository }}" \
--annotation "org.opencontainers.image.version=${BRANCH_TAG}-${TIMESTAMP}" \
--annotation "org.opencontainers.image.created=${TIMESTAMP}" \
--annotation "org.opencontainers.image.revision=${{ github.sha }}" \
--annotation "org.opencontainers.image.licenses=See repository" \
--annotation "org.opencontainers.image.documentation=https://dispatcharr.github.io/Dispatcharr-Docs/" \
--annotation "org.opencontainers.image.vendor=${OWNER}" \
--annotation "org.opencontainers.image.authors=${{ github.actor }}" \
--annotation "maintainer=${{ github.actor }}" \
--annotation "build_version=DispatcharrBase version: ${BRANCH_TAG}-${TIMESTAMP}" \
--tag ghcr.io/${OWNER}/${REPO}:${BRANCH_TAG} \
ghcr.io/${OWNER}/${REPO}:${BRANCH_TAG}-amd64 ghcr.io/${OWNER}/${REPO}:${BRANCH_TAG}-arm64

# branch + timestamp tag
docker buildx imagetools create --tag ghcr.io/${OWNER}/${REPO}:${BRANCH_TAG}-${TIMESTAMP} \
docker buildx imagetools create \
--annotation "org.opencontainers.image.title=${{ needs.prepare.outputs.repo_name }}" \
--annotation "org.opencontainers.image.description=Your ultimate IPTV & stream Management companion." \
--annotation "org.opencontainers.image.url=https://github.com/${{ github.repository }}" \
--annotation "org.opencontainers.image.source=https://github.com/${{ github.repository }}" \
--annotation "org.opencontainers.image.version=${BRANCH_TAG}-${TIMESTAMP}" \
--annotation "org.opencontainers.image.created=${TIMESTAMP}" \
--annotation "org.opencontainers.image.revision=${{ github.sha }}" \
--annotation "org.opencontainers.image.licenses=See repository" \
--annotation "org.opencontainers.image.documentation=https://dispatcharr.github.io/Dispatcharr-Docs/" \
--annotation "org.opencontainers.image.vendor=${OWNER}" \
--annotation "org.opencontainers.image.authors=${{ github.actor }}" \
--annotation "maintainer=${{ github.actor }}" \
--annotation "build_version=DispatcharrBase version: ${BRANCH_TAG}-${TIMESTAMP}" \
--tag ghcr.io/${OWNER}/${REPO}:${BRANCH_TAG}-${TIMESTAMP} \
ghcr.io/${OWNER}/${REPO}:${BRANCH_TAG}-${TIMESTAMP}-amd64 ghcr.io/${OWNER}/${REPO}:${BRANCH_TAG}-${TIMESTAMP}-arm64

# Docker Hub manifests
# branch tag (e.g. base or base-dev)
docker buildx imagetools create --tag docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${REPO}:${BRANCH_TAG} \
docker buildx imagetools create \
--annotation "org.opencontainers.image.title=${{ needs.prepare.outputs.repo_name }}" \
--annotation "org.opencontainers.image.description=Your ultimate IPTV & stream Management companion." \
--annotation "org.opencontainers.image.url=https://github.com/${{ github.repository }}" \
--annotation "org.opencontainers.image.source=https://github.com/${{ github.repository }}" \
--annotation "org.opencontainers.image.version=${BRANCH_TAG}-${TIMESTAMP}" \
--annotation "org.opencontainers.image.created=${TIMESTAMP}" \
--annotation "org.opencontainers.image.revision=${{ github.sha }}" \
--annotation "org.opencontainers.image.licenses=See repository" \
--annotation "org.opencontainers.image.documentation=https://dispatcharr.github.io/Dispatcharr-Docs/" \
--annotation "org.opencontainers.image.vendor=${OWNER}" \
--annotation "org.opencontainers.image.authors=${{ github.actor }}" \
--annotation "maintainer=${{ github.actor }}" \
--annotation "build_version=DispatcharrBase version: ${BRANCH_TAG}-${TIMESTAMP}" \
--tag docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${REPO}:${BRANCH_TAG} \
docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${REPO}:${BRANCH_TAG}-amd64 docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${REPO}:${BRANCH_TAG}-arm64

# branch + timestamp tag
docker buildx imagetools create --tag docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${REPO}:${BRANCH_TAG}-${TIMESTAMP} \
docker buildx imagetools create \
--annotation "org.opencontainers.image.title=${{ needs.prepare.outputs.repo_name }}" \
--annotation "org.opencontainers.image.description=Your ultimate IPTV & stream Management companion." \
--annotation "org.opencontainers.image.url=https://github.com/${{ github.repository }}" \
--annotation "org.opencontainers.image.source=https://github.com/${{ github.repository }}" \
--annotation "org.opencontainers.image.version=${BRANCH_TAG}-${TIMESTAMP}" \
--annotation "org.opencontainers.image.created=${TIMESTAMP}" \
--annotation "org.opencontainers.image.revision=${{ github.sha }}" \
--annotation "org.opencontainers.image.licenses=See repository" \
--annotation "org.opencontainers.image.documentation=https://dispatcharr.github.io/Dispatcharr-Docs/" \
--annotation "org.opencontainers.image.vendor=${OWNER}" \
--annotation "org.opencontainers.image.authors=${{ github.actor }}" \
--annotation "maintainer=${{ github.actor }}" \
--annotation "build_version=DispatcharrBase version: ${BRANCH_TAG}-${TIMESTAMP}" \
--tag docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${REPO}:${BRANCH_TAG}-${TIMESTAMP} \
docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${REPO}:${BRANCH_TAG}-${TIMESTAMP}-amd64 docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${REPO}:${BRANCH_TAG}-${TIMESTAMP}-arm64
89 changes: 84 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ name: CI Pipeline
on:
push:
branches: [dev]
paths-ignore:
- '**.md'
pull_request:
branches: [dev]
workflow_dispatch:
Expand Down Expand Up @@ -117,7 +119,27 @@ jobs:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

# use metadata from the prepare job
- name: Extract metadata for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: |
ghcr.io/${{ needs.prepare.outputs.repo_owner }}/${{ needs.prepare.outputs.repo_name }}
docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${{ needs.prepare.outputs.repo_name }}
labels: |
org.opencontainers.image.title=${{ needs.prepare.outputs.repo_name }}
org.opencontainers.image.description=Your ultimate IPTV & stream Management companion.
org.opencontainers.image.url=https://github.com/${{ github.repository }}
org.opencontainers.image.source=https://github.com/${{ github.repository }}
org.opencontainers.image.version=${{ needs.prepare.outputs.version }}-${{ needs.prepare.outputs.timestamp }}
org.opencontainers.image.created=${{ needs.prepare.outputs.timestamp }}
org.opencontainers.image.revision=${{ github.sha }}
org.opencontainers.image.licenses=See repository
org.opencontainers.image.documentation=https://dispatcharr.github.io/Dispatcharr-Docs/
org.opencontainers.image.vendor=${{ needs.prepare.outputs.repo_owner }}
org.opencontainers.image.authors=${{ github.actor }}
maintainer=${{ github.actor }}
build_version=Dispatcharr version: ${{ needs.prepare.outputs.version }}-${{ needs.prepare.outputs.timestamp }}

- name: Build and push Docker image
uses: docker/build-push-action@v4
Expand All @@ -135,6 +157,7 @@ jobs:
ghcr.io/${{ needs.prepare.outputs.repo_owner }}/${{ needs.prepare.outputs.repo_name }}:${{ needs.prepare.outputs.version }}-${{ needs.prepare.outputs.timestamp }}-${{ matrix.platform }}
docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${{ needs.prepare.outputs.repo_name }}:${{ needs.prepare.outputs.branch_tag }}-${{ matrix.platform }}
docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${{ needs.prepare.outputs.repo_name }}:${{ needs.prepare.outputs.version }}-${{ needs.prepare.outputs.timestamp }}-${{ matrix.platform }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
REPO_OWNER=${{ needs.prepare.outputs.repo_owner }}
REPO_NAME=${{ needs.prepare.outputs.repo_name }}
Expand Down Expand Up @@ -179,16 +202,72 @@ jobs:
echo "Creating multi-arch manifest for ${OWNER}/${REPO}"

# branch tag (e.g. latest or dev)
docker buildx imagetools create --tag ghcr.io/${OWNER}/${REPO}:${BRANCH_TAG} \
docker buildx imagetools create \
--annotation "org.opencontainers.image.title=${{ needs.prepare.outputs.repo_name }}" \
--annotation "org.opencontainers.image.description=Your ultimate IPTV & stream Management companion." \
--annotation "org.opencontainers.image.url=https://github.com/${{ github.repository }}" \
--annotation "org.opencontainers.image.source=https://github.com/${{ github.repository }}" \
--annotation "org.opencontainers.image.version=${BRANCH_TAG}" \
--annotation "org.opencontainers.image.created=${TIMESTAMP}" \
--annotation "org.opencontainers.image.revision=${{ github.sha }}" \
--annotation "org.opencontainers.image.licenses=See repository" \
--annotation "org.opencontainers.image.documentation=https://dispatcharr.github.io/Dispatcharr-Docs/" \
--annotation "org.opencontainers.image.vendor=${OWNER}" \
--annotation "org.opencontainers.image.authors=${{ github.actor }}" \
--annotation "maintainer=${{ github.actor }}" \
--annotation "build_version=Dispatcharr version: ${VERSION}-${TIMESTAMP}" \
--tag ghcr.io/${OWNER}/${REPO}:${BRANCH_TAG} \
ghcr.io/${OWNER}/${REPO}:${BRANCH_TAG}-amd64 ghcr.io/${OWNER}/${REPO}:${BRANCH_TAG}-arm64

# version + timestamp tag
docker buildx imagetools create --tag ghcr.io/${OWNER}/${REPO}:${VERSION}-${TIMESTAMP} \
docker buildx imagetools create \
--annotation "org.opencontainers.image.title=${{ needs.prepare.outputs.repo_name }}" \
--annotation "org.opencontainers.image.description=Your ultimate IPTV & stream Management companion." \
--annotation "org.opencontainers.image.url=https://github.com/${{ github.repository }}" \
--annotation "org.opencontainers.image.source=https://github.com/${{ github.repository }}" \
--annotation "org.opencontainers.image.version=${VERSION}-${TIMESTAMP}" \
--annotation "org.opencontainers.image.created=${TIMESTAMP}" \
--annotation "org.opencontainers.image.revision=${{ github.sha }}" \
--annotation "org.opencontainers.image.licenses=See repository" \
--annotation "org.opencontainers.image.documentation=https://dispatcharr.github.io/Dispatcharr-Docs/" \
--annotation "org.opencontainers.image.vendor=${OWNER}" \
--annotation "org.opencontainers.image.authors=${{ github.actor }}" \
--annotation "maintainer=${{ github.actor }}" \
--annotation "build_version=Dispatcharr version: ${VERSION}-${TIMESTAMP}" \
--tag ghcr.io/${OWNER}/${REPO}:${VERSION}-${TIMESTAMP} \
ghcr.io/${OWNER}/${REPO}:${VERSION}-${TIMESTAMP}-amd64 ghcr.io/${OWNER}/${REPO}:${VERSION}-${TIMESTAMP}-arm64

# also create Docker Hub manifests using the same username
docker buildx imagetools create --tag docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${REPO}:${BRANCH_TAG} \
docker buildx imagetools create \
--annotation "org.opencontainers.image.title=${{ needs.prepare.outputs.repo_name }}" \
--annotation "org.opencontainers.image.description=Your ultimate IPTV & stream Management companion." \
--annotation "org.opencontainers.image.url=https://github.com/${{ github.repository }}" \
--annotation "org.opencontainers.image.source=https://github.com/${{ github.repository }}" \
--annotation "org.opencontainers.image.version=${BRANCH_TAG}" \
--annotation "org.opencontainers.image.created=${TIMESTAMP}" \
--annotation "org.opencontainers.image.revision=${{ github.sha }}" \
--annotation "org.opencontainers.image.licenses=See repository" \
--annotation "org.opencontainers.image.documentation=https://dispatcharr.github.io/Dispatcharr-Docs/" \
--annotation "org.opencontainers.image.vendor=${OWNER}" \
--annotation "org.opencontainers.image.authors=${{ github.actor }}" \
--annotation "maintainer=${{ github.actor }}" \
--annotation "build_version=Dispatcharr version: ${VERSION}-${TIMESTAMP}" \
--tag docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${REPO}:${BRANCH_TAG} \
docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${REPO}:${BRANCH_TAG}-amd64 docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${REPO}:${BRANCH_TAG}-arm64

docker buildx imagetools create --tag docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${REPO}:${VERSION}-${TIMESTAMP} \
docker buildx imagetools create \
--annotation "org.opencontainers.image.title=${{ needs.prepare.outputs.repo_name }}" \
--annotation "org.opencontainers.image.description=Your ultimate IPTV & stream Management companion." \
--annotation "org.opencontainers.image.url=https://github.com/${{ github.repository }}" \
--annotation "org.opencontainers.image.source=https://github.com/${{ github.repository }}" \
--annotation "org.opencontainers.image.version=${VERSION}-${TIMESTAMP}" \
--annotation "org.opencontainers.image.created=${TIMESTAMP}" \
--annotation "org.opencontainers.image.revision=${{ github.sha }}" \
--annotation "org.opencontainers.image.licenses=See repository" \
--annotation "org.opencontainers.image.documentation=https://dispatcharr.github.io/Dispatcharr-Docs/" \
--annotation "org.opencontainers.image.vendor=${OWNER}" \
--annotation "org.opencontainers.image.authors=${{ github.actor }}" \
--annotation "maintainer=${{ github.actor }}" \
--annotation "build_version=Dispatcharr version: ${VERSION}-${TIMESTAMP}" \
--tag docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${REPO}:${VERSION}-${TIMESTAMP} \
docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${REPO}:${VERSION}-${TIMESTAMP}-amd64 docker.io/${{ secrets.DOCKERHUB_ORGANIZATION }}/${REPO}:${VERSION}-${TIMESTAMP}-arm64
Loading
Loading