Fix version links change the mod to the alpine pkg

This commit is contained in:
quietsy 2023-04-01 10:31:15 +03:00
parent 6e6ddfb166
commit d56a8dde53
5 changed files with 31 additions and 136 deletions

View File

@ -13,10 +13,6 @@ jobs:
steps:
- uses: actions/checkout@v2.3.3
- name: Set up qemu
run: |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- name: Build image
run: |
docker build --no-cache -t ${{ github.sha }} .

View File

@ -1,91 +1,6 @@
FROM ghcr.io/linuxserver/baseimage-alpine:amd64-3.15 as build-stage-amd64
RUN \
echo "**** install packages ****" && \
apk add -U --update --no-cache --virtual=build-dependencies \
autoconf \
automake \
build-base \
git \
glib-dev \
libmaxminddb-dev \
ncurses-dev && \
mkdir -p /build && \
mkdir -p /goaccess && \
echo "**** build goaccess ****" && \
git clone --shallow-submodules --recurse-submodules https://github.com/allinurl/goaccess.git /goaccess && cd /goaccess && \
autoreconf -fiv && \
./configure --enable-utf8 --enable-geoip=mmdb && \
make DESTDIR="/build" install && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/goaccess/* \
/tmp/*
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.15 as build-stage-arm32v7
RUN \
echo "**** install packages ****" && \
apk add -U --update --no-cache --virtual=build-dependencies \
autoconf \
automake \
build-base \
git \
glib-dev \
libmaxminddb-dev \
ncurses-dev && \
mkdir -p /build && \
mkdir -p /goaccess && \
echo "**** build goaccess ****" && \
git clone --shallow-submodules --recurse-submodules https://github.com/allinurl/goaccess.git /goaccess && cd /goaccess && \
autoreconf -fiv && \
./configure --enable-utf8 --enable-geoip=mmdb && \
make DESTDIR="/build" install && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/goaccess/* \
/tmp/*
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.15 as build-stage-arm64v8
RUN \
echo "**** install packages ****" && \
apk add -U --update --no-cache --virtual=build-dependencies \
autoconf \
automake \
build-base \
git \
glib-dev \
libmaxminddb-dev \
ncurses-dev && \
mkdir -p /build && \
mkdir -p /goaccess && \
echo "**** build goaccess ****" && \
git clone --shallow-submodules --recurse-submodules https://github.com/allinurl/goaccess.git /goaccess && cd /goaccess && \
autoreconf -fiv && \
./configure --enable-utf8 --enable-geoip=mmdb && \
make DESTDIR="/build" install && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/goaccess/* \
/tmp/*
FROM scratch as build-stage-consolidate
COPY --from=build-stage-amd64 /build/ /goaccess/x86_64/
COPY --from=build-stage-arm32v7 /build/ /goaccess/armv7l/
COPY --from=build-stage-arm64v8 /build/ /goaccess/aarch64/
COPY root/ /
FROM scratch
LABEL maintainer="quietsy"
# copy local files
COPY --from=build-stage-consolidate / /
COPY root/ /

View File

@ -140,29 +140,37 @@
$files = "";
$counter = 1;
$conf_locations = array(
".conf" => "https://github.com/linuxserver/docker-swag/blob/master/root/defaults/nginx/",
"subdomain.conf" => "https://github.com/linuxserver/reverse-proxy-confs/blob/master/",
"subfolder.conf" => "https://github.com/linuxserver/reverse-proxy-confs/blob/master/",
"dashboard.subdomain.conf" => "https://github.com/linuxserver/docker-mods/blob/swag-dashboard/root/dashboard/",
"nginx.conf" => "https://github.com/linuxserver/docker-baseimage-alpine-nginx/tree/master/root/defaults/nginx/",
"ssl.conf" => "https://github.com/linuxserver/docker-baseimage-alpine-nginx/tree/master/root/defaults/nginx/",
"default.conf" => "https://github.com/linuxserver/docker-swag/blob/master/root/defaults/nginx/site-confs/",
);
$output = shell_exec("/etc/cont-init.d/85-version-checks");
$output = shell_exec("/etc/s6-overlay/s6-rc.d/init-version-checks/run");
foreach(explode(PHP_EOL, $output) as $line) {
if(substr($line, 0, 1) === "*"){
$tooltip .= str_replace("*", "", $line).PHP_EOL;
} elseif(substr($line, 0, 1) === "/") {
} elseif(str_contains($line, "/config/")) {
$tr_class = ($counter % 2 == 0) ? 'shaded' : '';
$files .= '<tr class="'.$tr_class.'"><td class="left-text"><span class="status-text">'.htmlspecialchars($line).'</span></td>';
$file_name = substr($line, strrpos($line, '/') + 1);
$link = "https://github.com/linuxserver/docker-swag/blob/master/root/defaults/nginx/".$file_name;
$clean_line = htmlspecialchars($line);
list($old_date, $new_date, $path) = explode(' │ ', $clean_line);
$old_date = trim($old_date, '│ \n\r\t\v\x00');
$new_date = trim($new_date, '│ \n\r\t\v\x00');
$path = trim($path, '│ \n\r\t\v\x00');
$files .= '<tr class="'.$tr_class.'">';
$files .= '<td class="left-text"><span class="status-text">'.$old_date.'</span></td>';
$files .= '<td class="left-text"><span class="status-text">'.$new_date.'</span></td>';
$files .= '<td class="left-text"><span class="status-text">'.$path.'</span></td>';
$file_name = substr($path, strrpos($path, '/') + 1);
foreach($conf_locations as $key=>$value) {
if (strpos($file_name, $key) !== false) {
$link = $value.$file_name;
}
}
if (strpos($file_name, 'subdomain.conf') !== false or strpos($file_name, 'subfolder.conf') !== false) {
$link .= '.sample';
}
$files .= '<td><a href="'.$link.'"><i class="fas fa-edit"></i></a></td></tr>';
$files .= '<td><a href="'.$link.'.sample"><i class="fas fa-edit"></i></a></td></tr>';
$counter++;
}
}
@ -174,6 +182,14 @@
<div>
<h2>Version Updates <i class="fas fa-info-circle" title="{$tooltip}"></i></h2>
<table class="table-hover">
<thead>
<tr>
<td><h3>Old Date</h3></td>
<td><h3>New Date</h3></td>
<td><h3>Path</h3></td>
<td><h3>Link</h3></td>
</tr>
</thead>
<tbody class="tbody-data">
{$files}
</tbody>
@ -253,7 +269,7 @@
endif;
$access_log = file_exists("/dashboard/logs") ? "/dashboard/logs/*.log" : "/config/log/nginx/access.log";
$goaccess = shell_exec("cat $access_log | /usr/local/bin/goaccess -a -o html --config-file=/dashboard/goaccess.conf $geodb -");
$goaccess = shell_exec("cat $access_log | /usr/bin/goaccess -a -o html --config-file=/dashboard/goaccess.conf $geodb -");
$goaccess = str_replace("<title>Server&nbsp;Statistics", "<title>SWAG&nbsp;Dashboard", $goaccess);
$goaccess = str_replace("<h1 class='h-dashboard'>", "<h1>", $goaccess);
$goaccess = str_replace("<i class='fa fa-tachometer'></i>", "<img src='/icon.svg' width='32' height='32'>&nbsp;SWAG&nbsp;", $goaccess);

View File

@ -1,30 +0,0 @@
#!/usr/bin/with-contenv bash
echo "Applying the SWAG dashboard mod..."
ARCH=$(uname -m)
if [ -d "/goaccess/${ARCH}" ]; then
echo "**** Installing/updating goaccess ****"
cp -a /goaccess/${ARCH}/* /
rm -rf /goaccess
else
echo "**** Goaccess already installed and up to date ****"
fi
apk add --no-cache libmaxminddb
cp -f /dashboard/dashboard.subdomain.conf.sample /config/nginx/proxy-confs/dashboard.subdomain.conf.sample
if [ ! -f /config/nginx/proxy-confs/dashboard.subdomain.conf ]; then
cp /dashboard/dashboard.subdomain.conf.sample /config/nginx/proxy-confs/dashboard.subdomain.conf
fi
if [ "$(sed -nE 's|## Version ([0-9]{4}\/[0-9]{2}\/[0-9]{2}).*|\1|p' /dashboard/dashboard.subdomain.conf.sample)" != "$(sed -nE 's|## Version ([0-9]{4}\/[0-9]{2}\/[0-9]{2}).*|\1|p' /config/nginx/proxy-confs/dashboard.subdomain.conf)" ]; then
echo "**** The swag-dashboard conf has been updated ****"
echo "**** Compare the changes using the sample file: /config/nginx/proxy-confs/dashboard.subdomain.conf.sample"
fi
# permissions
chown -R abc:abc \
/dashboard \
/config/nginx/proxy-confs/dashboard.subdomain.conf
echo "Applied the SWAG dashboard mod"

View File

@ -2,13 +2,11 @@
echo "**** Applying the SWAG dashboard mod... ****"
ARCH=$(uname -m)
if [ -d "/goaccess/${ARCH}" ]; then
echo "**** Installing/updating goaccess ****"
cp -a /goaccess/${ARCH}/* /
rm -rf /goaccess
if ! apk info 2>&1 | grep -q "goaccess"; then
echo "**** Adding goaccess to package install list ****"
echo "goaccess" >> /mod-repo-packages-to-install.list
else
echo "**** Goaccess already installed and up to date ****"
echo "**** goaccess already installed, skipping ****"
fi
if ! apk info 2>&1 | grep -q "libmaxminddb"; then