diff --git a/.github/workflows/dnscrypt-proxy.yml b/.github/workflows/dnscrypt-proxy.yml index 3169a10d..92cf56b2 100644 --- a/.github/workflows/dnscrypt-proxy.yml +++ b/.github/workflows/dnscrypt-proxy.yml @@ -13,36 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} - [[ ! -n $VERSION ]] && VERSION=2.0.42 - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --tag gists/dnscrypt-proxy:latest \ - --tag gists/dnscrypt-proxy:${VERSION} \ - --file ./dnscrypt/proxy/Dockerfile \ - ./dnscrypt/proxy + [[ ! -n $VERSION ]] && VERSION=2.0.45 + IMAGE_NAME=dnscrypt-proxy + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login --username "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./dnscrypt/proxy + file: ./dnscrypt/proxy/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/dnscrypt-wrapper.yml b/.github/workflows/dnscrypt-wrapper.yml index 6df67c8d..1f219afd 100644 --- a/.github/workflows/dnscrypt-wrapper.yml +++ b/.github/workflows/dnscrypt-wrapper.yml @@ -13,37 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} [[ ! -n $VERSION ]] && VERSION=0.4.2 - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --build-arg VERSION=${VERSION} \ - --tag gists/dnscrypt-wrapper:latest \ - --tag gists/dnscrypt-wrapper:${VERSION} \ - --file ./dnscrypt/wrapper/Dockerfile \ - ./dnscrypt/wrapper + IMAGE_NAME=dnscrypt-wrapper + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login --username "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./dnscrypt/wrapper + file: ./dnscrypt/wrapper/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/dnsmasq.yml b/.github/workflows/dnsmasq.yml index df895fbc..17fed489 100644 --- a/.github/workflows/dnsmasq.yml +++ b/.github/workflows/dnsmasq.yml @@ -13,37 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} - [[ ! -n $VERSION ]] && VERSION=2.81 + [[ ! -n $VERSION ]] && VERSION=2.84 IMAGE_NAME=dnsmasq - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - --file ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login --username "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/docker-compose-bin.yml b/.github/workflows/docker-compose-bin.yml index 07e4d1e9..65a828db 100644 --- a/.github/workflows/docker-compose-bin.yml +++ b/.github/workflows/docker-compose-bin.yml @@ -13,38 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} - [[ ! -n $VERSION ]] && VERSION=1.26.2 + [[ ! -n $VERSION ]] && VERSION=1.28.2 IMAGE_NAME=docker-compose-bin - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7 - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --build-arg VERSION=${VERSION} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - --file ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7 + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/frp.yml b/.github/workflows/frp.yml index 6c76dd6b..bfb15ebb 100644 --- a/.github/workflows/frp.yml +++ b/.github/workflows/frp.yml @@ -13,38 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} - [[ ! -n $VERSION ]] && VERSION=0.33.0 + [[ ! -n $VERSION ]] && VERSION=0.35.1 IMAGE_NAME=frp - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --build-arg VERSION=${VERSION} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - --file ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/haproxy.yml b/.github/workflows/haproxy.yml index 04cf88f5..72ed60e9 100644 --- a/.github/workflows/haproxy.yml +++ b/.github/workflows/haproxy.yml @@ -13,37 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} - [[ ! -n $VERSION ]] && VERSION=2.1.4 + [[ ! -n $VERSION ]] && VERSION=2.2.7 IMAGE_NAME=haproxy - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - --file ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/jekyll.yml b/.github/workflows/jekyll.yml index 197f1fb2..c170684a 100644 --- a/.github/workflows/jekyll.yml +++ b/.github/workflows/jekyll.yml @@ -13,38 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} - [[ ! -n $VERSION ]] && VERSION=3.8.7 + [[ ! -n $VERSION ]] && VERSION=3.9.0 IMAGE_NAME=jekyll - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --build-arg VERSION=${VERSION} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - --file ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/libtorrent-rasterbar.yml b/.github/workflows/libtorrent-rasterbar.yml index 0342f342..c2b99a19 100644 --- a/.github/workflows/libtorrent-rasterbar.yml +++ b/.github/workflows/libtorrent-rasterbar.yml @@ -12,7 +12,7 @@ on: env: DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - VERSION: 1.2.7 + VERSION: 2.0.2 jobs: build386: diff --git a/.github/workflows/lighttpd.yml b/.github/workflows/lighttpd.yml index d83e05e1..5a1e364e 100644 --- a/.github/workflows/lighttpd.yml +++ b/.github/workflows/lighttpd.yml @@ -13,37 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} - [[ ! -n $VERSION ]] && VERSION=1.4.55 + [[ ! -n $VERSION ]] && VERSION=1.4.57 IMAGE_NAME=lighttpd - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - --file ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/mariadb.yml b/.github/workflows/mariadb.yml index cb95df23..5fdbac2b 100644 --- a/.github/workflows/mariadb.yml +++ b/.github/workflows/mariadb.yml @@ -13,37 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} - [[ ! -n $VERSION ]] && VERSION=10.4.13 + [[ ! -n $VERSION ]] && VERSION=10.5.8 IMAGE_NAME=mariadb - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - --file ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/mpd.yml b/.github/workflows/mpd.yml index a874d158..a8645e08 100644 --- a/.github/workflows/mpd.yml +++ b/.github/workflows/mpd.yml @@ -13,37 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} - [[ ! -n $VERSION ]] && VERSION=0.21.23 + [[ ! -n $VERSION ]] && VERSION=0.22.3 IMAGE_NAME=mpd - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - --file ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/nfs-server.yml b/.github/workflows/nfs-server.yml index a1856a31..bc53fa12 100644 --- a/.github/workflows/nfs-server.yml +++ b/.github/workflows/nfs-server.yml @@ -13,37 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} - [[ ! -n $VERSION ]] && VERSION=2.4.3 + [[ ! -n $VERSION ]] && VERSION=2.5.2 IMAGE_NAME=nfs-server - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - --file ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml index a62c1ba8..a79e2930 100644 --- a/.github/workflows/php.yml +++ b/.github/workflows/php.yml @@ -13,37 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} - [[ ! -n $VERSION ]] && VERSION=7.3.19 + [[ ! -n $VERSION ]] && VERSION=7.4.14 IMAGE_NAME=php - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - --file ./php/fpm/Dockerfile \ - ./php/fpm + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }}/fpm + file: ./${{ steps.prepare.outputs.image-name }}/fpm/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/pptpd.yml b/.github/workflows/pptpd.yml index 75521d7e..d5a3018f 100644 --- a/.github/workflows/pptpd.yml +++ b/.github/workflows/pptpd.yml @@ -13,37 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} [[ ! -n $VERSION ]] && VERSION=1.4.0 IMAGE_NAME=pptpd - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - --file ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/pure-ftpd.yml b/.github/workflows/pure-ftpd.yml index c6d05212..db4c568d 100644 --- a/.github/workflows/pure-ftpd.yml +++ b/.github/workflows/pure-ftpd.yml @@ -13,38 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} [[ ! -n $VERSION ]] && VERSION=1.0.49 IMAGE_NAME=pure-ftpd - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --build-arg VERSION=${VERSION} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - --file ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/qbittorrent.yml b/.github/workflows/qbittorrent.yml index 949e12e1..d508d0f1 100644 --- a/.github/workflows/qbittorrent.yml +++ b/.github/workflows/qbittorrent.yml @@ -13,38 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} - [[ ! -n $VERSION ]] && VERSION=4.2.5 + [[ ! -n $VERSION ]] && VERSION=4.3.3 IMAGE_NAME=qbittorrent - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --build-arg VERSION=${VERSION} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - --file ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/rsync.yml b/.github/workflows/rsync.yml index 175eb382..e97118af 100644 --- a/.github/workflows/rsync.yml +++ b/.github/workflows/rsync.yml @@ -13,37 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} - [[ ! -n $VERSION ]] && VERSION=3.1.3 + [[ ! -n $VERSION ]] && VERSION=3.2.3 IMAGE_NAME=rsync - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - --file ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/rutorrent.yml b/.github/workflows/rutorrent.yml index 9d3de644..5f997e60 100644 --- a/.github/workflows/rutorrent.yml +++ b/.github/workflows/rutorrent.yml @@ -13,38 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} [[ ! -n $VERSION ]] && VERSION=3.10 IMAGE_NAME=rutorrent - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --build-arg VERSION=${VERSION} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - -f ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/samba-server.yml b/.github/workflows/samba-server.yml index f88e7ab0..06f1db7c 100644 --- a/.github/workflows/samba-server.yml +++ b/.github/workflows/samba-server.yml @@ -13,37 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} - [[ ! -n $VERSION ]] && VERSION=4.12.2 + [[ ! -n $VERSION ]] && VERSION=4.13.3 IMAGE_NAME=samba-server - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - -f ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/shadowsocks-libev.v2ray-plugin.yml b/.github/workflows/shadowsocks-libev.v2ray-plugin.yml index c819191b..144438cb 100644 --- a/.github/workflows/shadowsocks-libev.v2ray-plugin.yml +++ b/.github/workflows/shadowsocks-libev.v2ray-plugin.yml @@ -13,38 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} [[ ! -n $VERSION ]] && VERSION=1.3.1 IMAGE_NAME=shadowsocks-libev - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --build-arg VERSION=${VERSION} \ - --tag gists/${IMAGE_NAME}:v2ray-plugin-latest \ - --tag gists/${IMAGE_NAME}:v2ray-plugin-${VERSION} \ - -f ./shadowsocks/libev+v2ray/Dockerfile \ - ./shadowsocks/libev+v2ray + TAGS="gists/${IMAGE_NAME}:v2ray-plugin-${VERSION},gists/${IMAGE_NAME}:v2ray-plugin-latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./shadowsocks/libev+v2ray + file: ./shadowsocks/libev+v2ray/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/shadowsocks-libev.yml b/.github/workflows/shadowsocks-libev.yml index c29629ff..8c3fe892 100644 --- a/.github/workflows/shadowsocks-libev.yml +++ b/.github/workflows/shadowsocks-libev.yml @@ -13,38 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} - [[ ! -n $VERSION ]] && VERSION=3.3.4 + [[ ! -n $VERSION ]] && VERSION=3.3.5 IMAGE_NAME=shadowsocks-libev - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --build-arg VERSION=${VERSION} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - -f ./shadowsocks/libev/Dockerfile \ - ./shadowsocks/libev + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./shadowsocks/libev + file: ./shadowsocks/libev/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/smartmontools.yml b/.github/workflows/smartmontools.yml index a2591155..24a65bbb 100644 --- a/.github/workflows/smartmontools.yml +++ b/.github/workflows/smartmontools.yml @@ -13,37 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} - [[ ! -n $VERSION ]] && VERSION=7.1 + [[ ! -n $VERSION ]] && VERSION=7.2 IMAGE_NAME=smartmontools - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - -f ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/speedtest-cli.yml b/.github/workflows/speedtest-cli.yml index e4d9308e..1893dd11 100644 --- a/.github/workflows/speedtest-cli.yml +++ b/.github/workflows/speedtest-cli.yml @@ -13,38 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} [[ ! -n $VERSION ]] && VERSION=1.0.0 IMAGE_NAME=speedtest-cli - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7 - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --build-arg VERSION=${VERSION} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - --file ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7 + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/transmission.yml b/.github/workflows/transmission.yml index 2116647a..7663a572 100644 --- a/.github/workflows/transmission.yml +++ b/.github/workflows/transmission.yml @@ -13,37 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} [[ ! -n $VERSION ]] && VERSION="3.00" IMAGE_NAME=transmission - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - -f ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/trojan-go.yml b/.github/workflows/trojan-go.yml index cbdbf258..6d40291f 100644 --- a/.github/workflows/trojan-go.yml +++ b/.github/workflows/trojan-go.yml @@ -13,38 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} - [[ ! -n $VERSION ]] && VERSION=0.8.1 + [[ ! -n $VERSION ]] && VERSION=0.8.2 IMAGE_NAME=trojan-go - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --build-arg VERSION=${VERSION} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - --file ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/trojan.yml b/.github/workflows/trojan.yml index ddd3f9fb..29c41490 100644 --- a/.github/workflows/trojan.yml +++ b/.github/workflows/trojan.yml @@ -13,38 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} [[ ! -n $VERSION ]] && VERSION=1.16.0 IMAGE_NAME=trojan - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --build-arg VERSION=${VERSION} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - --file ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/v2ray-plugin.yml b/.github/workflows/v2ray-plugin.yml index 9bdd5e4c..f56ce3da 100644 --- a/.github/workflows/v2ray-plugin.yml +++ b/.github/workflows/v2ray-plugin.yml @@ -13,38 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} [[ ! -n $VERSION ]] && VERSION=1.3.1 IMAGE_NAME=v2ray-plugin - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --build-arg VERSION=${VERSION} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - -f ./shadowsocks/${IMAGE_NAME}/Dockerfile \ - ./shadowsocks/${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./shadowsocks/${{ steps.prepare.outputs.image-name }} + file: ./shadowsocks/${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/v2ray.yml b/.github/workflows/v2ray.yml index f500bb6f..e9929c4c 100644 --- a/.github/workflows/v2ray.yml +++ b/.github/workflows/v2ray.yml @@ -13,38 +13,37 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v2 - name: Prepare id: prepare run: | VERSION=${{ github.event.client_payload.version }} - [[ ! -n $VERSION ]] && VERSION=4.26.0 + [[ ! -n $VERSION ]] && VERSION=4.34.0 IMAGE_NAME=v2ray - DOCKER_PLATFORMS=linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --build-arg VERSION=${VERSION} \ - --tag gists/${IMAGE_NAME}:latest \ - --tag gists/${IMAGE_NAME}:${VERSION} \ - --file ./${IMAGE_NAME}/Dockerfile \ - ./${IMAGE_NAME} + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - name: Buildx (build) - run: | - docker buildx build \ - --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - name: Login to Docker Hub Registry - if: success() - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} - run: echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin - - name: Buildx (push) - if: success() - run: | - docker buildx build \ - --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} - name: Clear if: always() run: | diff --git a/.github/workflows/xray.yml b/.github/workflows/xray.yml new file mode 100644 index 00000000..48477a16 --- /dev/null +++ b/.github/workflows/xray.yml @@ -0,0 +1,50 @@ +name: xray + +on: + push: + branches: [ master ] + paths: + - '.github/workflows/xray.yml' + - '!xray/**' + repository_dispatch: + types: xray-build + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Prepare + id: prepare + run: | + VERSION=${{ github.event.client_payload.version }} + [[ ! -n $VERSION ]] && VERSION=1.3.0 + IMAGE_NAME=xray + TAGS="gists/${IMAGE_NAME}:${VERSION},gists/${IMAGE_NAME}:latest" + echo ::set-output name=build_args::VERSION=${VERSION} + echo ::set-output name=image-name::${IMAGE_NAME} + echo ::set-output name=tags::${TAGS} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + context: ./${{ steps.prepare.outputs.image-name }} + file: ./${{ steps.prepare.outputs.image-name }}/Dockerfile + platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/s390x + push: ${{ github.event_name != 'pull_request' }} + build-args: ${{ steps.prepare.outputs.build_args }} + tags: ${{ steps.prepare.outputs.tags }} + - name: Clear + if: always() + run: | + rm -rf ${HOME}/.docker/config.json diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/dnscrypt/proxy/Dockerfile b/dnscrypt/proxy/Dockerfile index d3bbc596..bc4fac12 100644 --- a/dnscrypt/proxy/Dockerfile +++ b/dnscrypt/proxy/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION diff --git a/dnscrypt/wrapper/Dockerfile b/dnscrypt/wrapper/Dockerfile index 71287dbf..1eccdbab 100644 --- a/dnscrypt/wrapper/Dockerfile +++ b/dnscrypt/wrapper/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION diff --git a/dnsmasq/Dockerfile b/dnsmasq/Dockerfile index ca4ca65a..57be972c 100644 --- a/dnsmasq/Dockerfile +++ b/dnsmasq/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION diff --git a/docker-compose-bin/Dockerfile b/docker-compose-bin/Dockerfile index 7a7392b8..c37db0ff 100644 --- a/docker-compose-bin/Dockerfile +++ b/docker-compose-bin/Dockerfile @@ -26,7 +26,7 @@ RUN set -xe && \ pyinstaller docker-compose.spec && \ mv dist/docker-compose /usr/bin/docker-compose -FROM alpine:3.12 +FROM alpine:3.13 COPY --from=builder /usr/bin/docker-compose /usr/bin/docker-compose # Copy out the generated binary VOLUME /dist diff --git a/frp/Dockerfile b/frp/Dockerfile index 69b5538e..27cecda4 100644 --- a/frp/Dockerfile +++ b/frp/Dockerfile @@ -18,7 +18,7 @@ RUN apk add --no-cache curl build-base git libcap && \ ls /frp* | xargs -n1 setcap 'cap_net_bind_service+ep' && \ cp ./conf/frp* /etc/ -FROM alpine:3.12 +FROM alpine:3.13 COPY --from=builder /frp* /usr/bin/ COPY --from=builder /etc/frp* /etc/ diff --git a/haproxy/Dockerfile b/haproxy/Dockerfile index 2c9a0773..ca64c1d7 100644 --- a/haproxy/Dockerfile +++ b/haproxy/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION diff --git a/jekyll/Dockerfile b/jekyll/Dockerfile index 43f7694e..bfa02a95 100644 --- a/jekyll/Dockerfile +++ b/jekyll/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION diff --git a/libtorrent-rasterbar/Dockerfile b/libtorrent-rasterbar/Dockerfile index de3e24e0..9d8e42da 100644 --- a/libtorrent-rasterbar/Dockerfile +++ b/libtorrent-rasterbar/Dockerfile @@ -1,25 +1,27 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION RUN set -ex && \ apk add --no-cache --virtual .build-deps \ + git \ boost-dev \ - boost-system \ - boost-thread \ - ca-certificates \ + cmake \ curl \ g++ \ - libressl-dev \ + openssl-dev \ make \ - qt5-qtbase \ - qt5-qttools-dev \ tar && \ mkdir -p /tmp/libtorrent-rasterbar && \ cd /tmp/libtorrent-rasterbar/ && \ - curl -sSL https://github.com/arvidn/libtorrent/releases/download/libtorrent_${VERSION//./_}/libtorrent-rasterbar-$VERSION.tar.gz | tar xz --strip 1 && \ - ./configure --prefix=/usr && \ - make -j$(nproc) && make install-strip && \ + curl -sSL https://github.com/arvidn/libtorrent/releases/latest/download/libtorrent-rasterbar-$VERSION.tar.gz | tar xz --strip 1 && \ + cmake -B builddir \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=17 \ + -DCMAKE_INSTALL_PREFIX:PATH=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib && \ + cmake --build builddir --parallel $((`nproc`+1)) && \ + cmake --install builddir && \ cd / && \ runDeps="$( \ scanelf --needed --nobanner /usr/lib/libtorrent-* \ diff --git a/lighttpd/Dockerfile b/lighttpd/Dockerfile index 67bfe8c4..07d166fd 100644 --- a/lighttpd/Dockerfile +++ b/lighttpd/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION diff --git a/mariadb/Dockerfile b/mariadb/Dockerfile index fe32e162..3bdb8962 100644 --- a/mariadb/Dockerfile +++ b/mariadb/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION diff --git a/mpd/Dockerfile b/mpd/Dockerfile index f3b6c5d0..8317d505 100644 --- a/mpd/Dockerfile +++ b/mpd/Dockerfile @@ -1,14 +1,23 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION RUN set -ex && \ - apk add --no-cache mpd + apk add --no-cache libcap mpd && \ + setcap -r /usr/bin/mpd && \ + apk del libcap && \ + mkdir -p /var/lib/mpd/playlists && \ + mkdir -p /music && \ + touch /var/lib/mpd/database \ + /var/lib/mpd/mpd.pid \ + /var/lib/mpd/state \ + /var/lib/mpd/sticker.sql && \ + chown mpd:audio -R /var/lib/mpd COPY mpd.conf /etc/mpd.conf VOLUME /var/lib/mpd -EXPOSE 6600 +EXPOSE 6600 8000 CMD ["mpd", "--stdout", "--no-daemon"] diff --git a/mpd/README.md b/mpd/README.md index 470970df..851375f3 100644 --- a/mpd/README.md +++ b/mpd/README.md @@ -6,7 +6,8 @@ Automatically built by Github Actions #### Volume -- /var/lib/mpd +- /music +- /var/lib/mpd/playlists #### Custom usage: @@ -16,7 +17,8 @@ Automatically built by Github Actions --device /dev/snd \ -p 6600:6600 \ -p 8000:8000 \ - -v /your/music:/var/lib/mpd/music \ + -v /your/music:/music \ + -v /your/playlists:/var/lib/mpd/playlists \ gists/mpd #### Compose example: @@ -27,7 +29,8 @@ Automatically built by Github Actions - "6600:6600" - "8000:8000" volumes: - - /your/music:/var/lib/mpd/music + - /your/music:/music + - /your/playlists:/var/lib/mpd/playlists \ devices: - /dev/snd restart: always diff --git a/mpd/mpd.conf b/mpd/mpd.conf index 935ee273..2c2183fb 100644 --- a/mpd/mpd.conf +++ b/mpd/mpd.conf @@ -1,18 +1,21 @@ -music_directory "/var/lib/mpd/music" -playlist_directory "/var/lib/mpd/playlists" -db_file "/var/lib/mpd/database" -log_file "/var/log/mpd/mpd.log" -pid_file "/var/run/mpd.pid" -state_file "/var/lib/mpd/state" -sticker_file "/var/lib/mpd/sticker.sql" +music_directory "/music" +playlist_directory "/var/lib/mpd/playlists" +db_file "/var/lib/mpd/database" +pid_file "/var/lib/mpd/mpd.pid" +state_file "/var/lib/mpd/state" +sticker_file "/var/lib/mpd/sticker.sql" + +filesystem_charset "UTF-8" +user "mpd" +bind_to_address "0.0.0.0" +port "6600" audio_output { - type "httpd" - name "HTTP Audio Stream" - encoder "vorbis" - port "8000" - bitrate "128" - format "44100:16:1" - always_on "yes" - tags "yes" + type "httpd" + name "HTTP Audio Stream" + encoder "vorbis" + port "8000" + bitrate "128" + always_on "yes" + max_clients "0" } diff --git a/nfs-server/Dockerfile b/nfs-server/Dockerfile index 84c8b909..716c44b7 100644 --- a/nfs-server/Dockerfile +++ b/nfs-server/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION diff --git a/php/fpm/Dockerfile b/php/fpm/Dockerfile index bab2b24d..7fe89ec2 100644 --- a/php/fpm/Dockerfile +++ b/php/fpm/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION @@ -20,6 +20,7 @@ ENV MEMORY_LIMIT=256M \ # Let's roll RUN set -xe && \ apk add --no-cache \ + composer \ php7-bcmath \ php7-bz2 \ php7-curl \ @@ -50,6 +51,7 @@ RUN set -xe && \ php7-soap \ php7-sodium \ php7-sqlite3 \ + php7-tokenizer \ php7-xmlreader \ php7-xmlrpc \ php7-zip \ diff --git a/pptpd/Dockerfile b/pptpd/Dockerfile index 551bb6b1..372bb869 100644 --- a/pptpd/Dockerfile +++ b/pptpd/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION diff --git a/pure-ftpd/Dockerfile b/pure-ftpd/Dockerfile index 58441c9d..cb1479a9 100644 --- a/pure-ftpd/Dockerfile +++ b/pure-ftpd/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION diff --git a/qbittorrent/Dockerfile b/qbittorrent/Dockerfile index f9408a3b..db29792c 100644 --- a/qbittorrent/Dockerfile +++ b/qbittorrent/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$TARGETPLATFORM gists/libtorrent-rasterbar:1.2.7 +FROM --platform=$TARGETPLATFORM gists/libtorrent-rasterbar:latest ARG VERSION @@ -11,13 +11,11 @@ RUN set -ex && \ apk add --no-cache su-exec && \ apk add --no-cache --virtual .build-deps \ boost-dev \ - boost-system \ - boost-thread \ - ca-certificates \ + cmake \ curl \ g++ \ libcap \ - libressl-dev \ + openssl-dev \ make \ qt5-qtbase \ qt5-qttools-dev \ @@ -25,8 +23,15 @@ RUN set -ex && \ mkdir -p /tmp/qbittorrent && \ cd /tmp/qbittorrent && \ curl -sSL https://github.com/qbittorrent/qBittorrent/archive/release-$VERSION.tar.gz | tar xz --strip 1 && \ - ./configure --prefix=/usr --disable-gui --disable-stacktrace && \ - make -j$(nproc) && make install && \ + cmake -B builddir \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=17 \ + -DCMAKE_INSTALL_PREFIX:PATH=/usr \ + -DSTACKTRACE=OFF \ + -DQBT_VER_STATUS="" \ + -DDBUS=OFF -DGUI=OFF && \ + cmake --build builddir --parallel $((`nproc`+1)) && \ + cmake --install builddir && \ # Set capability to bind privileged ports as non-root user for qbittorrent-nox setcap 'cap_net_bind_service=+ep' /usr/bin/qbittorrent-nox && \ cd / && \ diff --git a/qbittorrent/README.md b/qbittorrent/README.md index 6a2a59a2..8c7cda66 100644 --- a/qbittorrent/README.md +++ b/qbittorrent/README.md @@ -30,7 +30,7 @@ Automatically built by Github Actions -p 6881:6881 \ -p 6881:6881/udp \ -p 8080:8080 \ - -v /path/data:/data + -v /path/data:/data \ gists/qbittorrent #### Compose example: diff --git a/rsync/Dockerfile b/rsync/Dockerfile index eb4a29ab..9fb012b7 100644 --- a/rsync/Dockerfile +++ b/rsync/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION diff --git a/rutorrent/Dockerfile b/rutorrent/Dockerfile index b215c8dd..87053089 100644 --- a/rutorrent/Dockerfile +++ b/rutorrent/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION diff --git a/rutorrent/rootfs/etc/nginx/conf.d/rutorrent.conf b/rutorrent/rootfs/etc/nginx/http.d/rutorrent.conf similarity index 100% rename from rutorrent/rootfs/etc/nginx/conf.d/rutorrent.conf rename to rutorrent/rootfs/etc/nginx/http.d/rutorrent.conf diff --git a/rutorrent/rootfs/etc/nginx/nginx.conf b/rutorrent/rootfs/etc/nginx/nginx.conf index 0863dbb9..20cd4f36 100644 --- a/rutorrent/rootfs/etc/nginx/nginx.conf +++ b/rutorrent/rootfs/etc/nginx/nginx.conf @@ -41,5 +41,5 @@ http { gzip_types text/xml text/css text/javascript text/plain application/json \ application/x-javascript application/xml application/xml+rss; - include conf.d/*.conf; + include http.d/*.conf; } diff --git a/samba-server/Dockerfile b/samba-server/Dockerfile index a0227a12..1d0ca59d 100644 --- a/samba-server/Dockerfile +++ b/samba-server/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION diff --git a/shadowsocks/libev+v2ray/Dockerfile b/shadowsocks/libev+v2ray/Dockerfile index 91cac311..7c912bea 100644 --- a/shadowsocks/libev+v2ray/Dockerfile +++ b/shadowsocks/libev+v2ray/Dockerfile @@ -1,6 +1,6 @@ -FROM gists/v2ray-plugin:1.3.0 AS builder +FROM gists/v2ray-plugin:latest AS builder -FROM gists/shadowsocks-libev:3.3.4 +FROM gists/shadowsocks-libev:latest ENV SERVER_ADDR=0.0.0.0 \ SERVER_PORT=8388 \ diff --git a/shadowsocks/libev/Dockerfile b/shadowsocks/libev/Dockerfile index 20eb8d8e..7748471a 100644 --- a/shadowsocks/libev/Dockerfile +++ b/shadowsocks/libev/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION @@ -26,10 +26,10 @@ RUN set -ex && \ c-ares-dev && \ mkdir -p /tmp/ss && \ cd /tmp/ss && \ - curl -sSL https://github.com/shadowsocks/shadowsocks-libev/releases/download/v$VERSION/shadowsocks-libev-$VERSION.tar.gz | \ + curl -sSL https://github.com/shadowsocks/shadowsocks-libev/releases/latest/download/shadowsocks-libev-$VERSION.tar.gz | \ tar xz --strip 1 && \ ./configure --prefix=/usr --disable-documentation && \ - make install && \ + make -j $((`nproc`+1)) install && \ ls /usr/bin/ss-* | xargs -n1 setcap 'cap_net_bind_service+ep' && \ runDeps="$( \ scanelf --needed --nobanner /usr/bin/ss-* \ diff --git a/shadowsocks/v2ray-plugin/Dockerfile b/shadowsocks/v2ray-plugin/Dockerfile index dc2ff7a4..98abdcaf 100644 --- a/shadowsocks/v2ray-plugin/Dockerfile +++ b/shadowsocks/v2ray-plugin/Dockerfile @@ -24,7 +24,7 @@ RUN set -xe && \ setcap 'cap_net_bind_service=+ep' /v2ray-plugin -FROM alpine:3.12 +FROM alpine:3.13 COPY --from=builder /v2ray-plugin /usr/bin/ diff --git a/smartmontools/Dockerfile b/smartmontools/Dockerfile index ab89303d..8c303ef4 100644 --- a/smartmontools/Dockerfile +++ b/smartmontools/Dockerfile @@ -1,10 +1,10 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION # Let's roll RUN set -xe && \ apk add --no-cache \ - smartmontools ssmtp + smartmontools ssmtp mailx ENTRYPOINT ["/usr/sbin/smartd", "--debug"] diff --git a/speedtest-cli/Dockerfile b/speedtest-cli/Dockerfile index 75656fd4..3a335be9 100644 --- a/speedtest-cli/Dockerfile +++ b/speedtest-cli/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:latest +FROM alpine:3.13 ARG VERSION diff --git a/transmission/Dockerfile b/transmission/Dockerfile index d3e77b9a..e227d6d6 100644 --- a/transmission/Dockerfile +++ b/transmission/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION diff --git a/trojan-go/Dockerfile b/trojan-go/Dockerfile index e332431d..0ee32d48 100644 --- a/trojan-go/Dockerfile +++ b/trojan-go/Dockerfile @@ -26,7 +26,7 @@ RUN set -xe && \ curl -sSL https://github.com/v2ray/domain-list-community/raw/release/dlc.dat -o release/geosite.dat -FROM alpine:3.12 +FROM alpine:3.13 COPY --from=builder /root/release /usr/bin/trojan-go COPY --from=builder /root/example/server.json /etc/trojan-go/config.json diff --git a/trojan/Dockerfile b/trojan/Dockerfile index 72ba2eb8..0c8446aa 100644 --- a/trojan/Dockerfile +++ b/trojan/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.12 +FROM alpine:3.13 ARG VERSION diff --git a/v2ray/Dockerfile b/v2ray/Dockerfile index abc1c6d4..9c70f32a 100644 --- a/v2ray/Dockerfile +++ b/v2ray/Dockerfile @@ -15,24 +15,23 @@ RUN set -xe && \ curl \ git \ libcap && \ - mkdir -p /etc/v2ray /root/v2ray-src /usr/bin/v2ray && \ + mkdir -p /root/v2ray-src && \ cd /root/v2ray-src && \ curl -sSL https://github.com/v2fly/v2ray-core/archive/v$VERSION.tar.gz | tar xz --strip 1 && \ LDFLAGS="-s -w -X v2ray.com/core.codename=user -X v2ray.com/core.build=$(date -u +'%Y-%m-%dT%H:%M:%SZ') -X v2ray.com/core.version=v$VERSION" && \ - go build -ldflags "$LDFLAGS" -v -o /usr/bin/v2ray/v2ray ./main && \ - go build -ldflags "$LDFLAGS" -v -o /usr/bin/v2ray/v2ctl -tags confonly ./infra/control/main && \ - ls /usr/bin/v2ray/v2* | xargs -n1 setcap 'cap_net_bind_service=+ep' && \ - curl -sSL https://github.com/v2ray/geoip/raw/release/geoip.dat -o /usr/bin/v2ray/geoip.dat && \ - curl -sSL https://github.com/v2ray/domain-list-community/raw/release/dlc.dat -o /usr/bin/v2ray/geosite.dat + go build -ldflags "$LDFLAGS" -v -o /v2ray ./main && \ + go build -ldflags "$LDFLAGS" -v -o /v2ctl -tags confonly ./infra/control/main && \ + ls /v2* | xargs -n1 setcap 'cap_net_bind_service=+ep' && \ + curl -sSL https://github.com/v2ray/geoip/raw/release/geoip.dat -o /geoip.dat && \ + curl -sSL https://github.com/v2ray/domain-list-community/raw/release/dlc.dat -o /geosite.dat -FROM alpine:3.12 - -ENV PATH /usr/bin/v2ray:$PATH +FROM alpine:3.13 RUN apk add --no-cache ca-certificates && \ mkdir -p /var/log/v2ray -COPY --from=builder /usr/bin/v2ray /usr/bin/v2ray/ +COPY --from=builder /v2* /usr/bin/ +COPY --from=builder /geo* /usr/bin/ COPY config.json /etc/v2ray/ CMD ["v2ray", "-config=/etc/v2ray/config.json"] diff --git a/v2ray/config.json b/v2ray/config.json index 105e7524..281a1176 100644 --- a/v2ray/config.json +++ b/v2ray/config.json @@ -1,25 +1,87 @@ { - "log" : { - "access": "/var/log/v2ray/access.log", - "error": "/var/log/v2ray/error.log", + "log": { + // "access": "/path/to/access/log/file", + // "error": "/path/to/error/log/file", + // Log level, one of "debug", "info", "warning", "error", "none" "loglevel": "warning" }, - "inbound": { + "inbounds": [{ "port": 1080, "listen": "0.0.0.0", - "protocol": "vmess", + "tag": "socks-inbound", + "protocol": "socks", "settings": { - "clients": [ - { - "id": "60ca58e9-003e-4c01-98de-c2223ae49153", - "level": 1, - "alterId": 64 - } - ] + "auth": "noauth", + "udp": false, + "ip": "127.0.0.1" + }, + + "sniffing": { + "enabled": true, + "destOverride": ["http", "tls"] } - }, - "outbound": { + }], + "outbounds": [{ "protocol": "freedom", - "settings": {} - } + "settings": {}, + "tag": "direct" + },{ + "protocol": "blackhole", + "settings": {}, + "tag": "blocked" + }], + + "routing": { + "domainStrategy": "IPOnDemand", + "rules":[ + { + "type": "field", + "ip": ["geoip:private"], + "outboundTag": "blocked" + }, + { + "type": "field", + "domain": ["geosite:category-ads"], + "outboundTag": "blocked" + } + ] + }, + + "dns": { + "hosts": { + "domain:v2ray.com": "www.vicemc.net", + "domain:github.io": "pages.github.com", + "domain:wikipedia.org": "www.wikimedia.org", + "domain:shadowsocks.org": "electronicsrealm.com" + }, + "servers": [ + "1.1.1.1", + { + "address": "114.114.114.114", + "port": 53, + "domains": [ + "geosite:cn" + ] + }, + "8.8.8.8", + "localhost" + ] + }, + + "policy": { + "levels": { + "0": { + "uplinkOnly": 0, + "downlinkOnly": 0 + } + }, + "system": { + "statsInboundUplink": false, + "statsInboundDownlink": false, + "statsOutboundUplink": false, + "statsOutboundDownlink": false + } + }, + + "other": {} } diff --git a/xray/Dockerfile b/xray/Dockerfile new file mode 100644 index 00000000..f797c5c3 --- /dev/null +++ b/xray/Dockerfile @@ -0,0 +1,36 @@ +FROM --platform=$BUILDPLATFORM golang:alpine AS builder + +ARG TARGETPLATFORM +ARG TARGETOS +ARG TARGETARCH +ARG VERSION +ARG CGO_ENABLED=on + +ENV GOOS=$TARGETOS \ + GOARCH=$TARGETARCH + +RUN set -xe && \ + apk add --no-cache --virtual .build-deps \ + build-base \ + curl \ + git \ + libcap && \ + mkdir -p /root/xray-src && \ + cd /root/xray-src && \ + curl -sSL https://github.com/XTLS/Xray-core/archive/v$VERSION.tar.gz | tar xz --strip 1 && \ + LDFLAGS="-s -w -buildid=" && \ + go build -v -o /xray -trimpath -ldflags "$LDFLAGS" ./main && \ + setcap 'cap_net_bind_service=+ep' /xray && \ + curl -sSL https://github.com/v2ray/geoip/raw/release/geoip.dat -o /geoip.dat && \ + curl -sSL https://github.com/v2ray/domain-list-community/raw/release/dlc.dat -o /geosite.dat + +FROM alpine:3.13 + +RUN apk add --no-cache ca-certificates && \ + mkdir -p /var/log/xray + +COPY --from=builder /xray /usr/bin/ +COPY --from=builder /geo* /usr/bin/ +COPY config.json /etc/xray/ + +CMD ["xray", "-config=/etc/xray/config.json"] diff --git a/xray/README.md b/xray/README.md new file mode 100644 index 00000000..e1e46f57 --- /dev/null +++ b/xray/README.md @@ -0,0 +1,24 @@ +![](https://images.microbadger.com/badges/version/gists/xray.svg) ![](https://images.microbadger.com/badges/image/gists/xray.svg) + +Dockerfile + +Automatically built by Github Actions + +#### Creating an instance: + + docker run \ + -d \ + --name xray \ + -p 12345:1080 \ + -v $(pwd)/config.json:/etc/xray/config.json \ + gists/xray + +#### Compose example: + + v2ray: + image: gists/xray + ports: + - "12345:1080" + volumes: + - ./config.json:/etc/xray/config.json + restart: always diff --git a/xray/config.json b/xray/config.json new file mode 100644 index 00000000..8f880d1d --- /dev/null +++ b/xray/config.json @@ -0,0 +1,19 @@ +{ + "inbounds": [{ + "port": 9000, + "protocol": "vmess", + "settings": { + "clients": [ + { + "id": "1eb6e917-774b-4a84-aff6-b058577c60a5", + "level": 1, + "alterId": 64 + } + ] + } + }], + "outbounds": [{ + "protocol": "freedom", + "settings": {} + }] +}