diff --git a/.github/workflows/cron-docker-image.yml b/.github/workflows/cron-docker-image.yml new file mode 100644 index 0000000..c26adce --- /dev/null +++ b/.github/workflows/cron-docker-image.yml @@ -0,0 +1,74 @@ +name: Docker Image CI - Cron + +on: + push: + branches: + - 'main' + tags: + - "v*.*.*" + pull_request: + branches: + - 'main' +jobs: + docker: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 + with: + # list of Docker images to use as base name for tags + images: | + rogerrum/docker-oscar-cron + ghcr.io/rogerrum/docker-oscar-cron + # generate Docker tags based on the following events/attributes + tags: | + type=ref,event=branch + type=semver,pattern={{version}} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Docker Hub + if: github.event_name != 'pull_request' + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Login to GitHub Container Registry + if: github.event_name != 'pull_request' + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GH_TOKEN }} + + - name: Output platforms + run: | + echo "Platforms: ${{ steps.buildx.outputs.platforms }}" + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + file: {context}/cron.Dockerfile + platforms: linux/arm64,linux/amd64 + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + - name: Docker Hub Description + if: github.event_name != 'pull_request' + uses: peter-evans/dockerhub-description@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + repository: rogerrum/docker-oscar-cron diff --git a/README.md b/README.md index 0eb50c5..ee409d0 100644 --- a/README.md +++ b/README.md @@ -129,6 +129,13 @@ $ docker-compose up -d ``` cron job is created only when env CRON_HOUR and CRON_MIN are passed. +### Additional Docker image for transferring data (Used as Kube Cron Job) + +Repository name in Docker Hub: **[rogerrum/docker-oscar-cron](https://hub.docker.com/r/rogerrum/docker-oscar-cron/)** +Repository name in ghcr.io: **[rogerrum/docker-oscar-cron](https://ghcr.io/rogerrum/docker-oscar-cron)** + + + ## Issues https://github.com/rogerrum/docker-oscar/issues diff --git a/cron.Dockerfile b/cron.Dockerfile new file mode 100644 index 0000000..9aee80a --- /dev/null +++ b/cron.Dockerfile @@ -0,0 +1,13 @@ +FROM alpine + +RUN apk add --no-cache bash + +RUN mkdir app && mkdir -p /config/SDCARD/ + +WORKDIR app + + +COPY root/etc/s6-overlay/s6-rc.d/ez-share-cron/ezShareDownloader.sh . +RUN chmod +x ezShareDownloader.sh + +ENTRYPOINT ./ezShareDownloader.sh