mirror of
https://github.com/linuxserver/docker-mods.git
synced 2026-02-05 04:59:42 +08:00
Merge pull request #293 from quietsy/swag-dashboard
Build goaccess from source
This commit is contained in:
commit
c564f335ad
4
.github/workflows/BuildImage.yml
vendored
4
.github/workflows/BuildImage.yml
vendored
@ -13,6 +13,10 @@ 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 }} .
|
||||
|
||||
87
Dockerfile
87
Dockerfile
@ -1,6 +1,91 @@
|
||||
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 root/ /
|
||||
COPY --from=build-stage-consolidate / /
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
## Version 2022/01/12
|
||||
## Version 2022/01/14
|
||||
# Make sure that your dns has a cname set for dashboard
|
||||
|
||||
server {
|
||||
@ -37,6 +37,14 @@ server {
|
||||
allow 192.168.0.0/16;
|
||||
deny all;
|
||||
|
||||
try_files $uri $uri/ /index.php?$args =404;
|
||||
}
|
||||
location ~ \.php$ {
|
||||
allow 10.0.0.0/8;
|
||||
allow 172.16.0.0/12;
|
||||
allow 192.168.0.0/16;
|
||||
deny all;
|
||||
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
fastcgi_pass 127.0.0.1:9000;
|
||||
fastcgi_index index.php;
|
||||
|
||||
@ -174,7 +174,7 @@
|
||||
}
|
||||
|
||||
$geodb = file_exists('/config/geoip2db/GeoLite2-City.mmdb') ? '--geoip-database=/config/geoip2db/GeoLite2-City.mmdb' : '';
|
||||
$goaccess = shell_exec("goaccess -a -o html --config-file=/dashboard/goaccess.conf ".$geodb);
|
||||
$goaccess = shell_exec("/usr/local/bin/goaccess -a -o html --config-file=/dashboard/goaccess.conf ".$geodb);
|
||||
$status = GetHeader() . GetProxies() . GetF2B() . GetAnnouncements() . GetLinks() . '<div class="wrap-general">';
|
||||
$page = str_replace("<div class='wrap-general'>", $status, $goaccess);
|
||||
$page = str_replace("<title>Server Statistics", "<title>SWAG Dashboard", $page);
|
||||
|
||||
@ -2,12 +2,26 @@
|
||||
|
||||
echo "Applying the SWAG dashboard mod..."
|
||||
|
||||
apk add --no-cache --upgrade goaccess
|
||||
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 \
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user