diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml index 9947de2..b82f983 100755 --- a/.github/workflows/external_trigger.yml +++ b/.github/workflows/external_trigger.yml @@ -20,7 +20,7 @@ jobs: echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_SMOKEPING_MASTER\". ****" echo "External trigger running off of master branch. To disable this trigger, set a Github secret named \`PAUSE_EXTERNAL_TRIGGER_SMOKEPING_MASTER\`" >> $GITHUB_STEP_SUMMARY echo "**** Retrieving external version ****" - EXT_RELEASE=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.19/main/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \ + EXT_RELEASE=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \ && awk '/^P:'"smokeping"'$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://') if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then echo "**** Can't retrieve external version, exiting ****" @@ -74,7 +74,7 @@ jobs: echo "**** Version ${EXT_RELEASE} already pushed, exiting ****" echo "Version ${EXT_RELEASE} already pushed, exiting" >> $GITHUB_STEP_SUMMARY exit 0 - elif [[ $(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.19/main/aarch64/APKINDEX.tar.gz" | tar -xz -C /tmp && awk '/^P:'"smokeping"'$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://') != "${EXT_RELEASE}" ]]; then + elif [[ $(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.20/main/aarch64/APKINDEX.tar.gz" | tar -xz -C /tmp && awk '/^P:'"smokeping"'$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://') != "${EXT_RELEASE}" ]]; then echo "**** New version ${EXT_RELEASE} found; but not all arch repos updated yet; exiting ****" echo "New version ${EXT_RELEASE} found; but not all arch repos updated yet; exiting" >> $GITHUB_STEP_SUMMARY FAILURE_REASON="New version ${EXT_RELEASE} for smokeping tag latest is detected, however not all arch repos are updated yet. Will try again later." diff --git a/Dockerfile b/Dockerfile index 1eb20bb..25aaec7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -FROM ghcr.io/linuxserver/baseimage-alpine:3.19 +FROM ghcr.io/linuxserver/baseimage-alpine:3.20 # set version label ARG BUILD_DATE @@ -12,7 +12,7 @@ LABEL maintainer="notdriz" RUN \ echo "**** install packages ****" && \ if [ -z ${SMOKEPING_VERSION+x} ]; then \ - SMOKEPING_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.19/main/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \ + SMOKEPING_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \ && awk '/^P:smokeping$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \ fi && \ apk add --no-cache --virtual=build-dependencies \ @@ -45,6 +45,7 @@ RUN \ chmod a+s /usr/bin/tcptraceroute && \ echo "**** fix path to cropper.js ****" && \ sed -i 's#src="/cropper/#/src="cropper/#' /etc/smokeping/basepage.html && \ + printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \ echo "**** Cleanup ****" && \ apk del --purge \ build-dependencies && \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 1122c1a..4c6400e 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.19 +FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.20 # set version label ARG BUILD_DATE @@ -12,7 +12,7 @@ LABEL maintainer="notdriz" RUN \ echo "**** install packages ****" && \ if [ -z ${SMOKEPING_VERSION+x} ]; then \ - SMOKEPING_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.19/main/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \ + SMOKEPING_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \ && awk '/^P:smokeping$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \ fi && \ apk add --no-cache --virtual=build-dependencies \ @@ -45,6 +45,7 @@ RUN \ chmod a+s /usr/bin/tcptraceroute && \ echo "**** fix path to cropper.js ****" && \ sed -i 's#src="/cropper/#/src="cropper/#' /etc/smokeping/basepage.html && \ + printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \ echo "**** Cleanup ****" && \ apk del --purge \ build-dependencies && \ diff --git a/Jenkinsfile b/Jenkinsfile index 719e5e7..aae1b85 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -25,8 +25,8 @@ pipeline { DEV_DOCKERHUB_IMAGE = 'lsiodev/smokeping' PR_DOCKERHUB_IMAGE = 'lspipepr/smokeping' DIST_IMAGE = 'alpine' - DIST_TAG = '3.19' - DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/v3.19/main/' + DIST_TAG = '3.20' + DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/v3.20/main/' DIST_REPO_PACKAGES = 'smokeping' MULTIARCH='true' CI='true' @@ -34,8 +34,8 @@ pipeline { CI_PORT='80' CI_SSL='false' CI_DELAY='120' - CI_DOCKERENV='TZ=US/Pacific' - CI_AUTH='user:password' + CI_DOCKERENV='' + CI_AUTH='' CI_WEBPATH='/smokeping/smokeping.cgi' } stages { diff --git a/README.md b/README.md index 551458e..ef0a89a 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ Find us at: [Smokeping](https://oss.oetiker.ch/smokeping/) keeps track of your network latency. For a full example of what this application is capable of visit [UCDavis](http://smokeping.ucdavis.edu/cgi-bin/smokeping.fcgi). -[![smokeping](https://camo.githubusercontent.com/e0694ef783e3fd1d74e6776b28822ced01c7cc17/687474703a2f2f6f73732e6f6574696b65722e63682f736d6f6b6570696e672f696e632f736d6f6b6570696e672d6c6f676f2e706e67)](https://oss.oetiker.ch/smokeping/) +[![smokeping](https://github.com/linuxserver/docker-templates/raw/master/linuxserver.io/img/smokeping-logo.png)](https://oss.oetiker.ch/smokeping/) ## Supported Architectures @@ -289,6 +289,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **25.06.24:** - Rebase to Alpine 3.20. * **12.04.24:** - Added perl InfluxDB HTTP module for InfluxDB HTTP support. * **22.03.24:** - Adding ability to run as a slave. * **23.12.23:** - Rebase to Alpine 3.19. diff --git a/jenkins-vars.yml b/jenkins-vars.yml index dda7e96..ae9923a 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -6,7 +6,6 @@ external_type: alpine_repo release_type: stable release_tag: latest ls_branch: master -build_armhf: false repo_vars: - BUILD_VERSION_ARG = 'SMOKEPING_VERSION' - LS_USER = 'linuxserver' @@ -16,8 +15,8 @@ repo_vars: - DEV_DOCKERHUB_IMAGE = 'lsiodev/smokeping' - PR_DOCKERHUB_IMAGE = 'lspipepr/smokeping' - DIST_IMAGE = 'alpine' - - DIST_TAG = '3.19' - - DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/v3.19/main/' + - DIST_TAG = '3.20' + - DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/v3.20/main/' - DIST_REPO_PACKAGES = 'smokeping' - MULTIARCH='true' - CI='true' @@ -25,6 +24,6 @@ repo_vars: - CI_PORT='80' - CI_SSL='false' - CI_DELAY='120' - - CI_DOCKERENV='TZ=US/Pacific' - - CI_AUTH='user:password' + - CI_DOCKERENV='' + - CI_AUTH='' - CI_WEBPATH='/smokeping/smokeping.cgi' diff --git a/readme-vars.yml b/readme-vars.yml index cc1b79f..3cc2f58 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -3,7 +3,7 @@ # project information project_name: smokeping project_url: "https://oss.oetiker.ch/smokeping/" -project_logo: "https://camo.githubusercontent.com/e0694ef783e3fd1d74e6776b28822ced01c7cc17/687474703a2f2f6f73732e6f6574696b65722e63682f736d6f6b6570696e672f696e632f736d6f6b6570696e672d6c6f676f2e706e67" +project_logo: "https://github.com/linuxserver/docker-templates/raw/master/linuxserver.io/img/smokeping-logo.png" project_blurb: "[{{ project_name|capitalize }}]({{ project_url }}) keeps track of your network latency. For a full example of what this application is capable of visit [UCDavis](http://smokeping.ucdavis.edu/cgi-bin/smokeping.fcgi)." project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}" @@ -21,9 +21,6 @@ param_volumes: param_usage_include_ports: true param_ports: - { external_port: "80", internal_port: "80", port_desc: "Allows HTTP access to the internal webserver." } -param_usage_include_env: true -param_env_vars: - - { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"} opt_param_usage_include_env: true opt_param_env_vars: - { env_var: "MASTER_URL", env_value: "http://:80/smokeping/", desc: "Specify the master url to connect to. Used when in slave mode."} @@ -43,6 +40,7 @@ app_setup_block: | # changelog changelogs: + - { date: "25.06.24:", desc: "Rebase to Alpine 3.20."} - { date: "12.04.24:", desc: "Added perl InfluxDB HTTP module for InfluxDB HTTP support."} - { date: "22.03.24:", desc: "Adding ability to run as a slave."} - { date: "23.12.23:", desc: "Rebase to Alpine 3.19."} diff --git a/root/etc/s6-overlay/s6-rc.d/svc-apache/run b/root/etc/s6-overlay/s6-rc.d/svc-apache/run index 7b452ed..58e3745 100755 --- a/root/etc/s6-overlay/s6-rc.d/svc-apache/run +++ b/root/etc/s6-overlay/s6-rc.d/svc-apache/run @@ -1,6 +1,10 @@ #!/usr/bin/with-contenv bash # shellcheck shell=bash +if [[ -f "/config/httpd.conf" ]]; then + PORT=$(grep -e "^Listen" /config/httpd.conf | awk -NF ' ' '{print $2}') +fi + exec \ - s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost 80" \ + s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost ${PORT:-80}" \ /usr/sbin/apachectl -D FOREGROUND