From d6937ea5e5baedbff4d27fc82cbd730eff8ea7cb Mon Sep 17 00:00:00 2001 From: EvilFreelancer <9089568+EvilFreelancer@users.noreply.github.com> Date: Sat, 20 Apr 2024 04:19:22 +0000 Subject: [PATCH 01/26] Update RouterOS version to 7.14.3 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index a42aace..b784253 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,7 +17,7 @@ RUN set -xe \ bridge-utils iptables jq bash python3 # Environments which may be change -ENV ROUTEROS_VERSION="7.14.2" +ENV ROUTEROS_VERSION="7.14.3" ENV ROUTEROS_IMAGE="chr-${ROUTEROS_VERSION}.vdi" ENV ROUTEROS_PATH="https://cdn.mikrotik.com/routeros/${ROUTEROS_VERSION}/${ROUTEROS_IMAGE}.zip" From f4bb2f1df3a71b580f2b7e96b6d7f47b68a315ac Mon Sep 17 00:00:00 2001 From: EvilFreelancer <9089568+EvilFreelancer@users.noreply.github.com> Date: Fri, 31 May 2024 04:20:42 +0000 Subject: [PATCH 02/26] Update RouterOS version to 7.15 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index b784253..de48bf0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,7 +17,7 @@ RUN set -xe \ bridge-utils iptables jq bash python3 # Environments which may be change -ENV ROUTEROS_VERSION="7.14.3" +ENV ROUTEROS_VERSION="7.15" ENV ROUTEROS_IMAGE="chr-${ROUTEROS_VERSION}.vdi" ENV ROUTEROS_PATH="https://cdn.mikrotik.com/routeros/${ROUTEROS_VERSION}/${ROUTEROS_IMAGE}.zip" From 506fe6bf630ebe8819d4a9b892b13305dd67ad04 Mon Sep 17 00:00:00 2001 From: EvilFreelancer <9089568+EvilFreelancer@users.noreply.github.com> Date: Tue, 11 Jun 2024 04:20:27 +0000 Subject: [PATCH 03/26] Update RouterOS version to 7.15.1 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index de48bf0..d9b95b8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,7 +17,7 @@ RUN set -xe \ bridge-utils iptables jq bash python3 # Environments which may be change -ENV ROUTEROS_VERSION="7.15" +ENV ROUTEROS_VERSION="7.15.1" ENV ROUTEROS_IMAGE="chr-${ROUTEROS_VERSION}.vdi" ENV ROUTEROS_PATH="https://cdn.mikrotik.com/routeros/${ROUTEROS_VERSION}/${ROUTEROS_IMAGE}.zip" From 910158faecfe6955ae28e4d9ffe0ba0ceb5f3fd0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jun 2024 05:26:44 +0000 Subject: [PATCH 04/26] Bump docker/build-push-action from 5 to 6 Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v5...v6) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index fbaff7a..b2ef7d0 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -25,7 +25,7 @@ jobs: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build with Docker - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: context: . push: ${{ !env.ACT }} From 7c4b2618349e624d57273d6e613196501c4253c1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jun 2024 05:48:35 +0000 Subject: [PATCH 05/26] Bump alpine from 3.19.1 to 3.20.1 Bumps alpine from 3.19.1 to 3.20.1. --- updated-dependencies: - dependency-name: alpine dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index d9b95b8..d875ab4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.19.1 +FROM alpine:3.20.1 # For access via VNC EXPOSE 5900 From 1585590ef925158366679ecf35bc911a9b0dc179 Mon Sep 17 00:00:00 2001 From: EvilFreelancer <9089568+EvilFreelancer@users.noreply.github.com> Date: Sat, 29 Jun 2024 04:20:29 +0000 Subject: [PATCH 06/26] Update RouterOS version to 7.15.2 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index d875ab4..abbd4c9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,7 +17,7 @@ RUN set -xe \ bridge-utils iptables jq bash python3 # Environments which may be change -ENV ROUTEROS_VERSION="7.15.1" +ENV ROUTEROS_VERSION="7.15.2" ENV ROUTEROS_IMAGE="chr-${ROUTEROS_VERSION}.vdi" ENV ROUTEROS_PATH="https://cdn.mikrotik.com/routeros/${ROUTEROS_VERSION}/${ROUTEROS_IMAGE}.zip" From 9bc5b2ddaa2505cff2432bd63a1860bdc586d40e Mon Sep 17 00:00:00 2001 From: EvilFreelancer <9089568+EvilFreelancer@users.noreply.github.com> Date: Fri, 26 Jul 2024 04:20:28 +0000 Subject: [PATCH 07/26] Update RouterOS version to 7.15.3 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index abbd4c9..d537032 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,7 +17,7 @@ RUN set -xe \ bridge-utils iptables jq bash python3 # Environments which may be change -ENV ROUTEROS_VERSION="7.15.2" +ENV ROUTEROS_VERSION="7.15.3" ENV ROUTEROS_IMAGE="chr-${ROUTEROS_VERSION}.vdi" ENV ROUTEROS_PATH="https://cdn.mikrotik.com/routeros/${ROUTEROS_VERSION}/${ROUTEROS_IMAGE}.zip" From 1d3260eea605af2e9ff18f0e9b117d96230d0cc6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 06:03:08 +0000 Subject: [PATCH 08/26] Bump alpine from 3.20.1 to 3.20.3 Bumps alpine from 3.20.1 to 3.20.3. --- updated-dependencies: - dependency-name: alpine dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index d537032..8e787ce 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.20.1 +FROM alpine:3.20.3 # For access via VNC EXPOSE 5900 From 8a8c9f87ceefa5b468f002b609a1558d18bb077f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 06:04:22 +0000 Subject: [PATCH 09/26] Bump peter-evans/create-pull-request from 6 to 7 Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6 to 7. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v6...v7) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 33da164..07256ab 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -38,7 +38,7 @@ jobs: - name: Create Pull Request if: ${{ steps.check_release.outputs.new == 'true' && !env.ACT }} - uses: peter-evans/create-pull-request@v6 + uses: peter-evans/create-pull-request@v7 with: commit-message: "Update RouterOS version to ${{ steps.check_release.outputs.release }}" committer: "GitHub Actions" From 0f3bc5fd40f252d6c0b267859df2c63852ea6298 Mon Sep 17 00:00:00 2001 From: EvilFreelancer <9089568+EvilFreelancer@users.noreply.github.com> Date: Wed, 25 Sep 2024 04:23:03 +0000 Subject: [PATCH 10/26] Update RouterOS version to 7.16 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 8e787ce..7912d56 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,7 +17,7 @@ RUN set -xe \ bridge-utils iptables jq bash python3 # Environments which may be change -ENV ROUTEROS_VERSION="7.15.3" +ENV ROUTEROS_VERSION="7.16" ENV ROUTEROS_IMAGE="chr-${ROUTEROS_VERSION}.vdi" ENV ROUTEROS_PATH="https://cdn.mikrotik.com/routeros/${ROUTEROS_VERSION}/${ROUTEROS_IMAGE}.zip" From 5481323181652adb19a7e1ab65d97d4522ffa8fa Mon Sep 17 00:00:00 2001 From: Pavel Zloi Date: Wed, 25 Sep 2024 10:46:29 +0300 Subject: [PATCH 11/26] Update ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8d069bb..4f66628 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: - name: Download docker-compose when using act if: env.ACT run: | - sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose + sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose - name: Test with Docker From 298fb5ddadfc12a3ec7e15f52176f969c538e098 Mon Sep 17 00:00:00 2001 From: Pavel Zloi Date: Wed, 25 Sep 2024 10:49:53 +0300 Subject: [PATCH 12/26] Update ci.yml --- .github/workflows/ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4f66628..8ad2c72 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,6 @@ jobs: uses: actions/checkout@v4 - name: Download docker-compose when using act - if: env.ACT run: | sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose From 31c7aa7c39ba2036e932589ae16aded9984aef12 Mon Sep 17 00:00:00 2001 From: EvilFreelancer <9089568+EvilFreelancer@users.noreply.github.com> Date: Sat, 12 Oct 2024 04:22:05 +0000 Subject: [PATCH 13/26] Update RouterOS version to 7.16.1 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 7912d56..aaaada1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,7 +17,7 @@ RUN set -xe \ bridge-utils iptables jq bash python3 # Environments which may be change -ENV ROUTEROS_VERSION="7.16" +ENV ROUTEROS_VERSION="7.16.1" ENV ROUTEROS_IMAGE="chr-${ROUTEROS_VERSION}.vdi" ENV ROUTEROS_PATH="https://cdn.mikrotik.com/routeros/${ROUTEROS_VERSION}/${ROUTEROS_IMAGE}.zip" From 82faeffceba91ed68027649b7721f9f77ff002a7 Mon Sep 17 00:00:00 2001 From: EvilFreelancer <9089568+EvilFreelancer@users.noreply.github.com> Date: Thu, 28 Nov 2024 04:24:33 +0000 Subject: [PATCH 14/26] Update RouterOS version to 7.16.2 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index aaaada1..cb006ea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,7 +17,7 @@ RUN set -xe \ bridge-utils iptables jq bash python3 # Environments which may be change -ENV ROUTEROS_VERSION="7.16.1" +ENV ROUTEROS_VERSION="7.16.2" ENV ROUTEROS_IMAGE="chr-${ROUTEROS_VERSION}.vdi" ENV ROUTEROS_PATH="https://cdn.mikrotik.com/routeros/${ROUTEROS_VERSION}/${ROUTEROS_IMAGE}.zip" From 8b2526f861c656190630bc3d1ba0f7ccccb5d688 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Dec 2024 05:44:07 +0000 Subject: [PATCH 15/26] Bump alpine from 3.20.3 to 3.21.0 Bumps alpine from 3.20.3 to 3.21.0. --- updated-dependencies: - dependency-name: alpine dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index aaaada1..2d393c9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.20.3 +FROM alpine:3.21.0 # For access via VNC EXPOSE 5900 From 43d16d6fd40aa1994f3b48a41a86c1ed913795cf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Jan 2025 05:29:58 +0000 Subject: [PATCH 16/26] Bump alpine from 3.21.0 to 3.21.2 Bumps alpine from 3.21.0 to 3.21.2. --- updated-dependencies: - dependency-name: alpine dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 52e1439..274f799 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.21.0 +FROM alpine:3.21.2 # For access via VNC EXPOSE 5900 From 482d65758509c1dd431ec392a03c3c1f300e30df Mon Sep 17 00:00:00 2001 From: EvilFreelancer <9089568+EvilFreelancer@users.noreply.github.com> Date: Fri, 17 Jan 2025 04:22:34 +0000 Subject: [PATCH 17/26] Update RouterOS version to 7.17 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 52e1439..3b9d659 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,7 +17,7 @@ RUN set -xe \ bridge-utils iptables jq bash python3 # Environments which may be change -ENV ROUTEROS_VERSION="7.16.2" +ENV ROUTEROS_VERSION="7.17" ENV ROUTEROS_IMAGE="chr-${ROUTEROS_VERSION}.vdi" ENV ROUTEROS_PATH="https://cdn.mikrotik.com/routeros/${ROUTEROS_VERSION}/${ROUTEROS_IMAGE}.zip" From 4d98b6ff5de517cfb6c2064bfe95d11544ae4c76 Mon Sep 17 00:00:00 2001 From: pasha Date: Mon, 27 Jan 2025 00:16:33 +0300 Subject: [PATCH 18/26] Legacy build logic removed --- .github/workflows/build-and-push.yml | 69 ++++++++++++++++++++++++++++ .github/workflows/cd.yml | 34 -------------- .github/workflows/ci.yml | 46 ------------------- .github/workflows/lint.yml | 14 ------ .github/workflows/pr.yml | 47 ------------------- .github/workflows/tag.yml | 38 --------------- 6 files changed, 69 insertions(+), 179 deletions(-) create mode 100644 .github/workflows/build-and-push.yml delete mode 100644 .github/workflows/cd.yml delete mode 100644 .github/workflows/ci.yml delete mode 100644 .github/workflows/lint.yml delete mode 100644 .github/workflows/pr.yml delete mode 100644 .github/workflows/tag.yml diff --git a/.github/workflows/build-and-push.yml b/.github/workflows/build-and-push.yml new file mode 100644 index 0000000..a724299 --- /dev/null +++ b/.github/workflows/build-and-push.yml @@ -0,0 +1,69 @@ +name: Check for new RouterOS versions, build and push containers + +on: + workflow_dispatch: + schedule: + - cron: '0 0 * * *' # Every day at midnight + +jobs: + check-and-build: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install dependencies + run: sudo apt-get install -y curl jq + + - name: Get latest RouterOS version + id: get_routeros_version + run: | + VERSION=$( + curl https://mikrotik.com/download/archive -o - 2>/dev/null | \ + grep -o '> $GITHUB_OUTPUT + + - name: Get Docker Hub tags + id: docker_hub_tags + run: | + OWNER="evilfreelancer" + REPO="docker-routeros" + URL="https://registry.hub.docker.com/v2/repositories/${OWNER}/${REPO}/tags/" + TAGS=$(curl -s "$URL" | jq -r '.results[].name' | grep -v "latest") + echo "tags=$(echo $TAGS | tr '\n' ' ')" >> $GITHUB_OUTPUT + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Build and test if new version + if: ${{ !contains(steps.docker_hub_tags.outputs.tags, steps.get_routeros_version.outputs.version) }} + run: | + VERSION="${{ steps.get_routeros_version.outputs.version }}" + OWNER="evilfreelancer" + REPO="docker-routeros" + + # Set up Docker Buildx + docker buildx create --use --name routeros_builder + + # Build and push images + docker buildx build --push \ + --platform linux/amd64 \ + --tag $OWNER/$REPO:$VERSION \ + --tag $OWNER/$REPO:latest \ + --build-arg ROUTEROS_VERSION=$VERSION . + + - name: Skip build + if: ${{ contains(steps.docker_hub_tags.outputs.tags, steps.get_routeros_version.outputs.version) }} + run: echo "Version ${{ steps.get_routeros_version.outputs.version }} already exists. Skipping build." \ No newline at end of file diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml deleted file mode 100644 index b2ef7d0..0000000 --- a/.github/workflows/cd.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: "Build docker image and push to DockerHub when a tag is pushed" - -on: - workflow_dispatch: - push: - tags: - - '*' - -jobs: - build: - name: "Build images" - runs-on: "ubuntu-latest" - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - name: Docker metadata from Git - id: meta - uses: docker/metadata-action@v5 - with: - images: evilfreelancer/docker-routeros - - name: Login to DockerHub - if: ${{ !env.ACT }} - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build with Docker - uses: docker/build-push-action@v6 - with: - context: . - push: ${{ !env.ACT }} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 8ad2c72..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: "Continuous Integration Tests" - -on: - push: - pull_request: - workflow_dispatch: - workflow_call: - -jobs: - test: - name: "Build & Test images" - runs-on: "ubuntu-latest" - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Download docker-compose when using act - run: | - sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose - sudo chmod +x /usr/local/bin/docker-compose - - - name: Test with Docker - run: | - # start the container - docker-compose -f docker-compose.dist.yml up --build -d routeros-local - # wait for the container to start - sleep 5 - DOCKERID=$(docker ps --format '{{.ID}}.{{.Names}}.{{.Image}}'|grep evilfreelancer/docker-routeros|cut -f 1 -d '.') - echo "Watching $DOCKERID for Mikrotik login..." - while true - do - if docker logs "$DOCKERID" 2>&1|grep 'MikroTik' - then - break - fi - echo "Not found yet, sleeping..." - sleep 5 - done - # display logs - echo "Container logs:" - docker logs "$DOCKERID" - # download resource and check platform is Mikrotik - curl --retry 12 --retry-all-errors -k -u admin: http://127.0.0.1:7777/rest/system/resource | jq .platform |grep -i mikrotik - - - name: Stop container - run: docker-compose -f docker-compose.dist.yml down diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml deleted file mode 100644 index dbb13a9..0000000 --- a/.github/workflows/lint.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: Lint github-action - -on: [ 'pull_request' ] - -jobs: - lint: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Lint - uses: docker://rhysd/actionlint:1.6.26 - with: - args: -color diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml deleted file mode 100644 index 07256ab..0000000 --- a/.github/workflows/pr.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: "Check for update on Mikrotik website and generate a PR if necessary" - -on: - workflow_dispatch: - schedule: - - cron: "0 4 * * *" - -jobs: - routeros: - name: "Build & Test images" - runs-on: "ubuntu-latest" - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: '1' - - - name: Check new release - id: check_release - run: | - LAST_MIKROTIK_RELEASE=$( curl https://mikrotik.com/download/archive -o - 2>/dev/null | grep -o ' "$GITHUB_OUTPUT" - echo "new=true" >> "$GITHUB_OUTPUT" - else - echo "No new version found" - echo "new=false" >> "$GITHUB_OUTPUT" - fi - - - name: Edit Dockerfile - if: ${{ steps.check_release.outputs.new == 'true' }} - run: | - sed -r "s/(ROUTEROS_VERSION=\")(.*)(\")/\1${{ steps.check_release.outputs.release }}\3/g" -i Dockerfile - git diff - - - name: Create Pull Request - if: ${{ steps.check_release.outputs.new == 'true' && !env.ACT }} - uses: peter-evans/create-pull-request@v7 - with: - commit-message: "Update RouterOS version to ${{ steps.check_release.outputs.release }}" - committer: "GitHub Actions" - body: 'Created by Github action' - title: 'Update RouterOS version to ${{ steps.check_release.outputs.release }}' - branch: update-routeros diff --git a/.github/workflows/tag.yml b/.github/workflows/tag.yml deleted file mode 100644 index 6cfad76..0000000 --- a/.github/workflows/tag.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: "Tag master with new version of RouterOS when CI pass" - -on: - push: - branches: - - "master" - -permissions: - contents: write - pull-requests: read - -jobs: - call_test: - uses: EvilFreelancer/docker-routeros/.github/workflows/ci.yml@master - - tag: - name: "Add a tag to git" - runs-on: "ubuntu-latest" - needs: call_test - if: always() && needs.call_test.result == 'success' - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: '0' - - - name: Add new tag on git - id: tag - run: | - NEW_TAG=$(grep 'ROUTEROS_VERSION="' Dockerfile |cut -d '"' -f 2) - git config user.name 'GitHub Actions' - git config user.email 'github-actions@users.noreply.github.com' - git tag "$NEW_TAG" - echo "new_tag=$NEW_TAG" >> "$GITHUB_OUTPUT" - - - name: Push new tag to git - if: ${{ !env.ACT }} - run: git push origin ${{ steps.tag.outputs.new_tag }} From 89b36db462ad065294236acbd621cf6c0df67a40 Mon Sep 17 00:00:00 2001 From: pasha Date: Mon, 27 Jan 2025 00:19:10 +0300 Subject: [PATCH 19/26] Version added --- .github/workflows/build-and-push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yml b/.github/workflows/build-and-push.yml index a724299..c7c5b6e 100644 --- a/.github/workflows/build-and-push.yml +++ b/.github/workflows/build-and-push.yml @@ -59,7 +59,7 @@ jobs: # Build and push images docker buildx build --push \ - --platform linux/amd64 \ + --platform linux/amd64,linux/arm64,linux/arm/v7 \ --tag $OWNER/$REPO:$VERSION \ --tag $OWNER/$REPO:latest \ --build-arg ROUTEROS_VERSION=$VERSION . From 63c948b6e100091c0c1de3f913b3a623ed2e87d2 Mon Sep 17 00:00:00 2001 From: pasha Date: Mon, 27 Jan 2025 00:23:47 +0300 Subject: [PATCH 20/26] Small tunes of version in Dockerfile --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index ce1330e..0c69820 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,7 +17,8 @@ RUN set -xe \ bridge-utils iptables jq bash python3 # Environments which may be change -ENV ROUTEROS_VERSION="7.17" +ARG ROUTEROS_VERSION +ENV ROUTEROS_VERSION=${ROUTEROS_VERSION} ENV ROUTEROS_IMAGE="chr-${ROUTEROS_VERSION}.vdi" ENV ROUTEROS_PATH="https://cdn.mikrotik.com/routeros/${ROUTEROS_VERSION}/${ROUTEROS_IMAGE}.zip" From 6face9e8b5ce275d96b35840d5d2fa3686717df0 Mon Sep 17 00:00:00 2001 From: Jason Jafari Date: Mon, 3 Feb 2025 18:49:25 -0500 Subject: [PATCH 21/26] Test 1 --- .github/FUNDING.yml | 3 --- .github/workflows/build-and-push.yml | 4 ++-- .gitignore | 1 + Dockerfile | 10 ++++++---- docker-compose.dist.yml | 6 +++--- scripts/entrypoint.sh | 6 ++++++ 6 files changed, 18 insertions(+), 12 deletions(-) delete mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 811883a..0000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1,3 +0,0 @@ -# These are supported funding model platforms - -custom: [https://pay.cloudtips.ru/p/937f48ac, https://boosty.to/evilfreelancer] diff --git a/.github/workflows/build-and-push.yml b/.github/workflows/build-and-push.yml index c7c5b6e..1275c3b 100644 --- a/.github/workflows/build-and-push.yml +++ b/.github/workflows/build-and-push.yml @@ -35,7 +35,7 @@ jobs: - name: Get Docker Hub tags id: docker_hub_tags run: | - OWNER="evilfreelancer" + OWNER="jafarijason" REPO="docker-routeros" URL="https://registry.hub.docker.com/v2/repositories/${OWNER}/${REPO}/tags/" TAGS=$(curl -s "$URL" | jq -r '.results[].name' | grep -v "latest") @@ -51,7 +51,7 @@ jobs: if: ${{ !contains(steps.docker_hub_tags.outputs.tags, steps.get_routeros_version.outputs.version) }} run: | VERSION="${{ steps.get_routeros_version.outputs.version }}" - OWNER="evilfreelancer" + OWNER="jafarijason" REPO="docker-routeros" # Set up Docker Buildx diff --git a/.gitignore b/.gitignore index 42efebe..178ed4b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /.idea/ /*.vdi /docker-compose.yml +build.txt \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 0c69820..477e6d6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,6 +9,8 @@ EXPOSE 1194 1701 1723 1812/udp 1813/udp 21 22 23 443 4500/udp 50 500/udp 51 2021 # Change work dir (it will also create this folder if is not exist) WORKDIR /routeros +RUN mkdir -p /routeros_source + # Install dependencies RUN set -xe \ && apk add --no-cache --update \ @@ -23,11 +25,11 @@ ENV ROUTEROS_IMAGE="chr-${ROUTEROS_VERSION}.vdi" ENV ROUTEROS_PATH="https://cdn.mikrotik.com/routeros/${ROUTEROS_VERSION}/${ROUTEROS_IMAGE}.zip" # Download VDI image from remote site -RUN wget "$ROUTEROS_PATH" -O "/routeros/${ROUTEROS_IMAGE}.zip" && \ - unzip "/routeros/${ROUTEROS_IMAGE}.zip" -d "/routeros" && \ - rm -f "/routeros/${ROUTEROS_IMAGE}.zip" +RUN wget "$ROUTEROS_PATH" -O "/routeros_source/${ROUTEROS_IMAGE}.zip" && \ + unzip "/routeros_source/${ROUTEROS_IMAGE}.zip" -d "/routeros_source" && \ + rm -f "/routeros_source/${ROUTEROS_IMAGE}.zip" # Copy script to routeros folder -ADD ["./scripts", "/routeros"] +ADD ["./scripts", "/routeros_source"] ENTRYPOINT ["/routeros/entrypoint.sh"] diff --git a/docker-compose.dist.yml b/docker-compose.dist.yml index 83031c6..f2356b1 100644 --- a/docker-compose.dist.yml +++ b/docker-compose.dist.yml @@ -2,7 +2,7 @@ version: "3" services: routeros-6-48: - image: evilfreelancer/docker-routeros:6.48.4 + image: jafarijason/docker-routeros:6.48.4 restart: unless-stopped cap_add: - NET_ADMIN @@ -16,7 +16,7 @@ services: - "18729:8729" routeros-latest: - image: evilfreelancer/docker-routeros:latest + image: jafarijason/docker-routeros:latest restart: unless-stopped cap_add: - NET_ADMIN @@ -33,7 +33,7 @@ services: - "28729:8729" routeros-local: - image: evilfreelancer/docker-routeros:latest + image: jafarijason/docker-routeros:latest build: context: . dockerfile: Dockerfile diff --git a/scripts/entrypoint.sh b/scripts/entrypoint.sh index 7240d84..ac3a2c5 100755 --- a/scripts/entrypoint.sh +++ b/scripts/entrypoint.sh @@ -1,5 +1,11 @@ #!/usr/bin/env bash +if [[ ! -e "/routeros/generate-dhcpd-conf.py" ]]; then + + cp -r /routeros_source/. /routeros +fi + + QEMU_BRIDGE_ETH1='qemubr1' default_dev1='eth0' From d2ee32092baf1a32c585812481682fa24c8e3ca0 Mon Sep 17 00:00:00 2001 From: Jason Jafari Date: Mon, 3 Feb 2025 19:10:28 -0500 Subject: [PATCH 22/26] WIP --- Dockerfile | 2 +- scripts/entrypoint.sh | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 477e6d6..cbfab52 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,4 +32,4 @@ RUN wget "$ROUTEROS_PATH" -O "/routeros_source/${ROUTEROS_IMAGE}.zip" && \ # Copy script to routeros folder ADD ["./scripts", "/routeros_source"] -ENTRYPOINT ["/routeros/entrypoint.sh"] +ENTRYPOINT ["/routeros_source/entrypoint.sh"] diff --git a/scripts/entrypoint.sh b/scripts/entrypoint.sh index ac3a2c5..12bb7b4 100755 --- a/scripts/entrypoint.sh +++ b/scripts/entrypoint.sh @@ -6,6 +6,8 @@ if [[ ! -e "/routeros/generate-dhcpd-conf.py" ]]; then fi +cd /routeros + QEMU_BRIDGE_ETH1='qemubr1' default_dev1='eth0' From 3ac118eaf96602c964ef6afab186666c46f52020 Mon Sep 17 00:00:00 2001 From: Jason Jafari Date: Mon, 3 Feb 2025 19:40:19 -0500 Subject: [PATCH 23/26] Bring back docker repository --- .github/FUNDING.yml | 3 +++ .github/workflows/build-and-push.yml | 4 ++-- docker-compose.dist.yml | 6 +++--- 3 files changed, 8 insertions(+), 5 deletions(-) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..4a1afef --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,3 @@ +# These are supported funding model platforms + +custom: [https://pay.cloudtips.ru/p/937f48ac, https://boosty.to/evilfreelancer] \ No newline at end of file diff --git a/.github/workflows/build-and-push.yml b/.github/workflows/build-and-push.yml index 1275c3b..c7c5b6e 100644 --- a/.github/workflows/build-and-push.yml +++ b/.github/workflows/build-and-push.yml @@ -35,7 +35,7 @@ jobs: - name: Get Docker Hub tags id: docker_hub_tags run: | - OWNER="jafarijason" + OWNER="evilfreelancer" REPO="docker-routeros" URL="https://registry.hub.docker.com/v2/repositories/${OWNER}/${REPO}/tags/" TAGS=$(curl -s "$URL" | jq -r '.results[].name' | grep -v "latest") @@ -51,7 +51,7 @@ jobs: if: ${{ !contains(steps.docker_hub_tags.outputs.tags, steps.get_routeros_version.outputs.version) }} run: | VERSION="${{ steps.get_routeros_version.outputs.version }}" - OWNER="jafarijason" + OWNER="evilfreelancer" REPO="docker-routeros" # Set up Docker Buildx diff --git a/docker-compose.dist.yml b/docker-compose.dist.yml index f2356b1..83031c6 100644 --- a/docker-compose.dist.yml +++ b/docker-compose.dist.yml @@ -2,7 +2,7 @@ version: "3" services: routeros-6-48: - image: jafarijason/docker-routeros:6.48.4 + image: evilfreelancer/docker-routeros:6.48.4 restart: unless-stopped cap_add: - NET_ADMIN @@ -16,7 +16,7 @@ services: - "18729:8729" routeros-latest: - image: jafarijason/docker-routeros:latest + image: evilfreelancer/docker-routeros:latest restart: unless-stopped cap_add: - NET_ADMIN @@ -33,7 +33,7 @@ services: - "28729:8729" routeros-local: - image: jafarijason/docker-routeros:latest + image: evilfreelancer/docker-routeros:latest build: context: . dockerfile: Dockerfile From f55bdcb19d2cddff3fbbbd02d39c52424bf7a6e7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Feb 2025 05:26:47 +0000 Subject: [PATCH 24/26] Bump alpine from 3.21.2 to 3.21.3 Bumps alpine from 3.21.2 to 3.21.3. --- updated-dependencies: - dependency-name: alpine dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 0c69820..e5fa1f7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.21.2 +FROM alpine:3.21.3 # For access via VNC EXPOSE 5900 From b264d35ad55f8057facdb8809cc3fea069c81102 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 05:59:46 +0000 Subject: [PATCH 25/26] Bump alpine from 3.21.3 to 3.22.0 Bumps alpine from 3.21.3 to 3.22.0. --- updated-dependencies: - dependency-name: alpine dependency-version: 3.22.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index e2f0e7e..91cf876 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.21.3 +FROM alpine:3.22.0 # For access via VNC EXPOSE 5900 From 1338176e9af97a14f12ba7cd4b86dd4a259132a4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Jul 2025 07:01:15 +0000 Subject: [PATCH 26/26] Bump alpine from 3.22.0 to 3.22.1 Bumps alpine from 3.22.0 to 3.22.1. --- updated-dependencies: - dependency-name: alpine dependency-version: 3.22.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 91cf876..fe8f4e5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.22.0 +FROM alpine:3.22.1 # For access via VNC EXPOSE 5900