From 4ff8f504f49c3fb9b06294970ce74efe67466c0b Mon Sep 17 00:00:00 2001 From: Gaspard WITRAND Date: Wed, 18 Sep 2024 16:40:34 +0200 Subject: [PATCH 1/2] Parse port into int, bind cannot accept str --- pysyslog.py | 1 + 1 file changed, 1 insertion(+) mode change 100644 => 100755 pysyslog.py diff --git a/pysyslog.py b/pysyslog.py old mode 100644 new mode 100755 index 8f9aed5..f94cf62 --- a/pysyslog.py +++ b/pysyslog.py @@ -49,6 +49,7 @@ def main(argv): logging.basicConfig(level=logging.INFO, format='%(message)s', datefmt='', filename=logfile, filemode='a') + port = int(port) try: server = socketserver.UDPServer((boundip, port), SyslogUDPHandler) server.serve_forever(poll_interval=0.5) From 7f63756e6171f61eef5f4479912854ee75dd458b Mon Sep 17 00:00:00 2001 From: Gaspard WITRAND Date: Wed, 18 Sep 2024 17:54:33 +0200 Subject: [PATCH 2/2] Add dockerfile and very basic start script --- Dockerfile | 12 ++++++++++++ start_as_docker.sh | 16 ++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 Dockerfile create mode 100755 start_as_docker.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..50ccea3 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +FROM python:3.8.10 + +RUN apt-get update +RUN apt-get upgrade -y + +COPY pysyslog.py /app/pysyslog.py + +WORKDIR /app + +EXPOSE 514 + +CMD ["/app/pysyslog.py", "-l", "logs.log", "-p", "514", "-i", "0.0.0.0"] \ No newline at end of file diff --git a/start_as_docker.sh b/start_as_docker.sh new file mode 100755 index 0000000..23ef2cf --- /dev/null +++ b/start_as_docker.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +if [[ -z "${PYSYSLOG_PORT}" ]]; then + echo "Missing env var PYSYSLOG_PORT" + exit; +fi + +docker build -t pysyslog-py-3.8.10 . + +echo "Build done, now starting docker with port ${PYSYSLOG_PORT}" + +docker run -d --rm -p ${PYSYSLOG_PORT}:514/udp pysyslog-py-3.8.10 + +echo "To follow the logs enter 'docker logs -f {token given above}'" + +echo "To stop the container 'docker kill {token given above}'" \ No newline at end of file