diff --git a/.env b/.env deleted file mode 100644 index 7728939..0000000 --- a/.env +++ /dev/null @@ -1 +0,0 @@ -API_KEY = '' \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index ab82eaa..f32baa5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,22 +1,15 @@ FROM python:3.10 -EXPOSE 80 EXPOSE 443 -EXPOSE 8080 -EXPOSE 8000 RUN mkdir static RUN mkdir templates ADD app.py . -ADD bak . -ADD db.py . -ADD db.sqlite . -ADD nmap.xsl . -ADD Pipfile . -ADD Procfile . +ADD auth_keys.db . ADD requirements.txt . -ADD test.py . ADD README.md . +ADD wsgi.py . +ADD nmapapi.service . COPY static /static/ COPY templates /templates/ @@ -24,6 +17,4 @@ RUN apt update && apt upgrade -y RUN apt install nmap -y RUN pip install -r requirements.txt -ENV OPENAI_API_KEY='' - -CMD [ "sh", "-c","python ./app.py ${OPENAI_API_KEY}" ] +ENTRYPOINT [ "gunicorn", "-w", "4", "-b", "0.0.0.0:443", "--timeout", "2400", "--max-requests", "0", "wsgi:app" ] diff --git a/Dockerfile.bak b/Dockerfile.bak new file mode 100644 index 0000000..aeceaa8 --- /dev/null +++ b/Dockerfile.bak @@ -0,0 +1,26 @@ +FROM python:3.10 + +EXPOSE 80 +EXPOSE 443 +EXPOSE 8080 +EXPOSE 8000 + +ENV API_KEY='OPENAI_API_KEY' + +RUN mkdir static +RUN mkdir templates +ADD app.py . +ADD auth_keys.db . +ADD requirements.txt . +ADD .env . +ADD README.md . +COPY static /static/ +COPY templates /templates/ + +RUN apt update && apt upgrade -y +RUN apt install nmap -y +RUN pip install -r requirements.txt + +RUN echo "API_KEY = '${API_KEY}'" >> .env + +CMD [ "sh", "-c","python ./app.py" ] \ No newline at end of file diff --git a/app.py b/app.py index d500b8b..e539a7d 100644 --- a/app.py +++ b/app.py @@ -10,14 +10,12 @@ import nmap import openai -from dotenv import load_dotenv from flask import Flask from flask import render_template from flask_restful import Api from flask_restful import Resource -load_dotenv() -openai.api_key = os.getenv('API_KEY') +openai.api_key = '__API__KEY__' model_engine = "text-davinci-003" app = Flask(__name__) @@ -277,7 +275,3 @@ def get(self, auth, url): p4, "/api/p4//") api.add_resource( p5, "/api/p5//") - - -if __name__ == '__main__': - app.run(host="0.0.0.0", port="80") diff --git a/nmapapi.service b/nmapapi.service new file mode 100644 index 0000000..f8456e4 --- /dev/null +++ b/nmapapi.service @@ -0,0 +1,12 @@ +[Unit] +Description=Nmap API deployment +After=network.target + +[Service] +User=root +WorkingDirectory=/ +ExecStart=/usr/local/bin/gunicorn -w 4 wsgi:app +Restart=always + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/package/nmap_api/app.py b/package/nmap_api/app.py index 894b96f..206af78 100644 --- a/package/nmap_api/app.py +++ b/package/nmap_api/app.py @@ -208,4 +208,4 @@ def get(self, url): def start_api(): - app.run(host="0.0.0.0", port="80") + app.run(host="0.0.0.0", port="443") diff --git a/requirements.txt b/requirements.txt index eda4e8a..b279626 100644 Binary files a/requirements.txt and b/requirements.txt differ diff --git a/wsgi.py b/wsgi.py new file mode 100644 index 0000000..6026b0f --- /dev/null +++ b/wsgi.py @@ -0,0 +1,4 @@ +from app import app + +if __name__ == "__main__": + app.run()