From 3d77c70ba38117942d29dece33811f0ddd8e6ba0 Mon Sep 17 00:00:00 2001 From: Kurniawan Yusuf Date: Tue, 29 Mar 2022 09:07:26 +0700 Subject: [PATCH] init --- .dockerignore | 1 + .gitignore | 2 ++ Dockerfile | 13 +++++++++++++ docker/docker-compose.yaml | 14 ++++++++++++++ main.py | 29 +++++++++++++++++++++++++++++ requirements.txt | 11 +++++++++++ 6 files changed, 70 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 docker/docker-compose.yaml create mode 100644 main.py create mode 100644 requirements.txt diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..deb2648 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +docker/ \ No newline at end of file diff --git a/.gitignore b/.gitignore index f8b73e7..f4e2986 100644 --- a/.gitignore +++ b/.gitignore @@ -138,3 +138,5 @@ dmypy.json # Cython debug symbols cython_debug/ +.vscode/ +.history/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c917f12 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM python:3-slim + +WORKDIR /app + +COPY requirements.txt /app/requirements.txt + +RUN pip install -r requirements.txt + +COPY . /app + +EXPOSE 7000 + +CMD ["python", "main.py"] \ No newline at end of file diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml new file mode 100644 index 0000000..ab0a5be --- /dev/null +++ b/docker/docker-compose.yaml @@ -0,0 +1,14 @@ +version: "3" +services: + sbpgs_server: + image: "hub.docker.talentkita.dev/sbgps_server:latest" + restart: "always" + volumes: + - ./logs:/app/logs + ports: + - "7000:7000" + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "10" diff --git a/main.py b/main.py new file mode 100644 index 0000000..9d1e2e1 --- /dev/null +++ b/main.py @@ -0,0 +1,29 @@ +import sys +from twisted.internet.protocol import ( + Factory, + Protocol +) +from twisted.internet.endpoints import TCP4ServerEndpoint +from twisted.internet import reactor +from twisted.python import log +from twisted.python.logfile import DailyLogFile + + +class Meitrack(Protocol): + def dataReceived(self, data): + log.msg(data) + + +class MeitrackFactory(Factory): + protocol = Meitrack + + +def main(): + log.startLogging(DailyLogFile.fromFullPath('./logs/meitrack.log')) + endpoint = TCP4ServerEndpoint(reactor, 7000) + endpoint.listen(MeitrackFactory()) + reactor.run() + + +if __name__ == "__main__": + main() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..8c71210 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,11 @@ +attrs==21.4.0 +Automat==20.2.0 +constantly==15.1.0 +hyperlink==21.0.0 +idna==3.3 +incremental==21.3.0 +six==1.16.0 +Twisted==22.2.0 +# twisted-iocpsupport==1.0.2 # needed only on windows mechine +typing-extensions==4.1.1 +zope.interface==5.4.0