From dd82313ec6da7441ab24f433ee02892e745ba18b Mon Sep 17 00:00:00 2001 From: Digital Studium Date: Sat, 24 May 2025 10:25:16 +0300 Subject: [PATCH] Add uwsgi --- cert_decoder/cert-decoder.service | 9 ++++++--- cert_decoder/requirements.txt | 1 + cert_decoder/uwsgi.ini | 10 ++++++++++ deploy.sh | 5 +++++ diff/diff-tool.service | 9 ++++++--- diff/requirements.txt | 1 + diff/uwsgi.ini | 10 ++++++++++ 7 files changed, 39 insertions(+), 6 deletions(-) create mode 100644 cert_decoder/uwsgi.ini create mode 100644 diff/uwsgi.ini diff --git a/cert_decoder/cert-decoder.service b/cert_decoder/cert-decoder.service index e7660a0..3ee9eb5 100644 --- a/cert_decoder/cert-decoder.service +++ b/cert_decoder/cert-decoder.service @@ -4,13 +4,16 @@ After=network.target [Service] WorkingDirectory=/srv/useful_web_tools/cert_decoder/ +User=www-data # Recommended for production +Group=www-data -# Create venv and install deps if not already done +# Virtual environment setup ExecStartPre=/bin/bash -c '[ -d ".venv" ] || python3 -m venv .venv' ExecStartPre=/bin/bash -c 'source .venv/bin/activate && pip install -r requirements.txt' -# Activate venv and run the app -ExecStart=/bin/bash -c 'source .venv/bin/activate && python main.py --port 5001' +# uWSGI execution +ExecStart=/srv/useful_web_tools/cert_decoder/.venv/bin/uwsgi --ini uwsgi.ini + Restart=always Environment="PYTHONUNBUFFERED=1" StandardOutput=journal diff --git a/cert_decoder/requirements.txt b/cert_decoder/requirements.txt index 6ddc584..8cb3baa 100644 --- a/cert_decoder/requirements.txt +++ b/cert_decoder/requirements.txt @@ -7,4 +7,5 @@ itsdangerous==2.2.0 Jinja2==3.1.6 MarkupSafe==3.0.2 pycparser==2.22 +uWSGI==2.0.29 Werkzeug==3.1.3 diff --git a/cert_decoder/uwsgi.ini b/cert_decoder/uwsgi.ini new file mode 100644 index 0000000..cec4b70 --- /dev/null +++ b/cert_decoder/uwsgi.ini @@ -0,0 +1,10 @@ +[uwsgi] +socket = /tmp/cert-decoder.sock +chmod-socket = 660 +module = main:app +master = true +processes = 1 +threads = 2 +vacuum = true +die-on-term = true + diff --git a/deploy.sh b/deploy.sh index 3d6d28b..5e502b8 100755 --- a/deploy.sh +++ b/deploy.sh @@ -3,3 +3,8 @@ cp cert_decoder/cert-decoder.service /lib/systemd/system/ cp diff/diff-tool.service /lib/systemd/system/ systemctl enable --now cert-decoder systemctl enable --now diff-tool +sudo systemctl daemon-reload +sudo systemctl restart cert-decoder +sudo systemctl restart diff-tool + + diff --git a/diff/diff-tool.service b/diff/diff-tool.service index a280970..b9bfc15 100644 --- a/diff/diff-tool.service +++ b/diff/diff-tool.service @@ -4,13 +4,16 @@ After=network.target [Service] WorkingDirectory=/srv/useful_web_tools/diff/ +User=www-data +Group=www-data -# Create venv and install deps if not already done +# Virtual environment setup ExecStartPre=/bin/bash -c '[ -d ".venv" ] || python3 -m venv .venv' ExecStartPre=/bin/bash -c 'source .venv/bin/activate && pip install -r requirements.txt' -# Activate venv and run the app -ExecStart=/bin/bash -c 'source .venv/bin/activate && python main.py --port 5002' +# uWSGI execution +ExecStart=/srv/useful_web_tools/diff/.venv/bin/uwsgi --ini uwsgi.ini + Restart=always Environment="PYTHONUNBUFFERED=1" StandardOutput=journal diff --git a/diff/requirements.txt b/diff/requirements.txt index 54cbde4..9fc310f 100644 --- a/diff/requirements.txt +++ b/diff/requirements.txt @@ -11,4 +11,5 @@ mccabe==0.7.0 platformdirs==4.3.8 pylint==3.3.7 tomlkit==0.13.2 +uWSGI==2.0.29 Werkzeug==3.1.3 diff --git a/diff/uwsgi.ini b/diff/uwsgi.ini new file mode 100644 index 0000000..f98a1d6 --- /dev/null +++ b/diff/uwsgi.ini @@ -0,0 +1,10 @@ +[uwsgi] +socket = /tmp/diff-tool.sock +chmod-socket = 660 +module = main:app +master = true +processes = 1 +threads = 2 +vacuum = true +die-on-term = true +