Деплой: python-dotenv для загрузки .env, порт 18091 в DEPLOY.md
This commit is contained in:
1 parent
7738d35f3d
commit
4dcaffd4c4
5 files changed
+20
-6
No files matched your search
@@ -9,7 +9,7 @@
|
|||||||
│ nginx │ Let's Encrypt
|
│ nginx │ Let's Encrypt
|
||||||
│ reverse proxy│
|
│ reverse proxy│
|
||||||
└───────┬───────┘
|
└───────┬───────┘
|
||||||
│ :5000
|
│ :18091
|
||||||
▼
|
▼
|
||||||
gunicorn (Flask: авторизация, изоляция данных, лимиты генераций)
|
gunicorn (Flask: авторизация, изоляция данных, лимиты генераций)
|
||||||
│
|
│
|
||||||
@@ -201,7 +201,7 @@ WorkingDirectory=/opt/hh_auto
|
|||||||
Environment=DISPLAY=:99
|
Environment=DISPLAY=:99
|
||||||
EnvironmentFile=/opt/hh_auto/.env
|
EnvironmentFile=/opt/hh_auto/.env
|
||||||
ExecStart=/opt/hh_auto/.venv/bin/gunicorn \
|
ExecStart=/opt/hh_auto/.venv/bin/gunicorn \
|
||||||
-w 1 --threads 8 --timeout 300 -b 127.0.0.1:5000 webui:app
|
-w 1 --threads 8 --timeout 300 -b 127.0.0.1:18091 webui:app
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=5
|
RestartSec=5
|
||||||
LimitNOFILE=65536
|
LimitNOFILE=65536
|
||||||
@@ -245,7 +245,7 @@ server {
|
|||||||
client_max_body_size 20M;
|
client_max_body_size 20M;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://127.0.0.1:5000;
|
proxy_pass http://127.0.0.1:18091;
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
@@ -296,7 +296,7 @@ chmod 644 /etc/cron.d/hh-backup
|
|||||||
journalctl -u hh-web -f
|
journalctl -u hh-web -f
|
||||||
|
|
||||||
# Здоровье
|
# Здоровье
|
||||||
curl -sf http://127.0.0.1:5000/api/accounts > /dev/null || systemctl restart hh-web
|
curl -sf http://127.0.0.1:18091/api/accounts > /dev/null || systemctl restart hh-web
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -15,6 +15,10 @@ import time
|
|||||||
|
|
||||||
from playwright.sync_api import sync_playwright
|
from playwright.sync_api import sync_playwright
|
||||||
|
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
|
load_dotenv()
|
||||||
|
|
||||||
from hh_search import parse_cookies
|
from hh_search import parse_cookies
|
||||||
|
|
||||||
# Селекторы hh.ru (с запасными вариантами)
|
# Селекторы hh.ru (с запасными вариантами)
|
||||||
|
|||||||
@@ -8,6 +8,10 @@ import urllib.parse
|
|||||||
|
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
|
load_dotenv()
|
||||||
|
|
||||||
HEADERS = {
|
HEADERS = {
|
||||||
"User-Agent": ("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 "
|
"User-Agent": ("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 "
|
||||||
"(KHTML, like Gecko) Chrome/120.0 Safari/537.36"),
|
"(KHTML, like Gecko) Chrome/120.0 Safari/537.36"),
|
||||||
|
|||||||
+2
-1
@@ -2,4 +2,5 @@ requests>=2.31.0
|
|||||||
playwright>=1.40.0
|
playwright>=1.40.0
|
||||||
flask>=3.0.0
|
flask>=3.0.0
|
||||||
pypdf>=4.0.0
|
pypdf>=4.0.0
|
||||||
python-docx>=1.1.0
|
python-docx>=1.1.0
|
||||||
|
python-dotenv>=1.0.0
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
показывается скриншотом, «Отправить» нажимается по подтверждению человека.
|
показывается скриншотом, «Отправить» нажимается по подтверждению человека.
|
||||||
|
|
||||||
Запуск: .venv/bin/python webui.py
|
Запуск: .venv/bin/python webui.py
|
||||||
Открыть: http://localhost:5000
|
Открыть: http://localhost:18091
|
||||||
"""
|
"""
|
||||||
import io
|
import io
|
||||||
import json
|
import json
|
||||||
@@ -20,6 +20,11 @@ import time
|
|||||||
from datetime import date
|
from datetime import date
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
|
# Загружаем .env (LLM_API_KEY, SESSION_SECRET, PORT, HH_HEADLESS и т.д.)
|
||||||
|
load_dotenv()
|
||||||
|
|
||||||
from flask import (Flask, jsonify, render_template, request, session,
|
from flask import (Flask, jsonify, render_template, request, session,
|
||||||
redirect, url_for, send_file)
|
redirect, url_for, send_file)
|
||||||
from werkzeug.security import check_password_hash, generate_password_hash
|
from werkzeug.security import check_password_hash, generate_password_hash
|
||||||
|
|||||||
Reference in new issue
Block a user