Block a user
pythonsyslog (latest)
Published 2025-11-26 14:07:39 +00:00 by torge.eiben
Installation
docker pull git.portal56.net/torge.eiben/pythonsyslog:latestsha256:55f91fe6c9b82805007b7bc51c22fdb769a632ccc478cab9680df7ebf2de5737About this package
Python Syslog Server, der mit einer Datenbank arbeitet. Syslogs mit verschiedenen Formaten automatisch formatiert und in einer Datenbank ablegt. Gedacht ist das ganze um möglichst einfach mit Grafana ein Monitoring zu betreiben, da auch diverse andere Logdateien im Agent definiert werden können wie zum Beispiel Nextcloud logs.
Image Layers
| # debian.sh --arch 'amd64' out/ 'trixie' '@1763337600' |
| ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| ENV LANG=C.UTF-8 |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; apt-get dist-clean # buildkit |
| ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D |
| ENV PYTHON_VERSION=3.11.14 |
| ENV PYTHON_SHA256=8d3ed8ec5c88c1c95f5e558612a725450d2452813ddad5e58fdb1a53b1209b78 |
| RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev gcc gnupg libbluetooth-dev libbz2-dev libc6-dev libdb-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev make tk-dev uuid-dev wget xz-utils zlib1g-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; ldconfig; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -rt dpkg-query --search | awk 'sub(":$", "", $1) { print $1 }' | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; apt-get dist-clean; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==79.0.1' 'wheel<0.46' ; pip3 --version # buildkit |
| RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit |
| CMD ["python3"] |
| WORKDIR /app |
| ENV PYTHONUNBUFFERED=1 |
| COPY requirements.txt . # buildkit |
| RUN /bin/sh -c pip install --no-cache-dir -r requirements.txt # buildkit |
| COPY code/server/main.py . # buildkit |
| EXPOSE [514/udp] |
| EXPOSE [514/tcp] |
| CMD ["python" "main.py"] |
Labels
| Key | Value |
|---|---|
| Das ermöglicht quasi mit einem Agent diverse Logdateien via Syslog in eine Datenbank zu spielen. Darüber hinaus ist der Agent in der Lage Logdateien in einem in der Konfiguration definierten Zeit zu bereinigen. | |
| org.opencontainers.image.created | 2025-11-26T14:07:14.063Z |
| org.opencontainers.image.description | Python Syslog Server, der mit einer Datenbank arbeitet. Syslogs mit verschiedenen Formaten automatisch formatiert und in einer Datenbank ablegt. Gedacht ist das ganze um möglichst einfach mit Grafana ein Monitoring zu betreiben, da auch diverse andere Logdateien im Agent definiert werden können wie zum Beispiel Nextcloud logs. |
| org.opencontainers.image.licenses | |
| org.opencontainers.image.revision | 51d45448423f171fb8231ccac5864f2435da7132 |
| org.opencontainers.image.source | https://git.portal56.net/torge.eiben/PythonSyslog |
| org.opencontainers.image.title | PythonSyslog |
| org.opencontainers.image.url | https://git.portal56.net/torge.eiben/PythonSyslog |
| org.opencontainers.image.version | latest |