Procházet zdrojové kódy

TG-85: finalize missing Nginx proxy and bookmarks scripts

lanfr144 před 1 týdnem
rodič
revize
50d8206bd3
3 změnil soubory, kde provedl 79 přidání a 0 odebrání
  1. 45 0
      create_bookmarks_page.py
  2. 10 0
      docker-compose.yml
  3. 24 0
      nginx/nginx.conf

+ 45 - 0
create_bookmarks_page.py

@@ -0,0 +1,45 @@
+import requests
+import urllib3
+
+urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
+base_url = 'https://192.168.130.161/taiga/api/v1'
+auth = requests.post(f'{base_url}/auth', json={'type': 'normal', 'username': 'FrancoisLange', 'password': 'BTSai123'}, verify=False).json()
+headers = {'Authorization': f'Bearer {auth["auth_token"]}', 'Content-Type': 'application/json'}
+proj_id = 21
+
+slug = 'bookmarks'
+
+content = """# BOOKMARKS
+
+- [26.05.07 DAILY](260507-daily)
+- [26.05.07 REVIEW](260507-review)
+- [26.05.07 RETROSPECTIVE](260507-retrospective)
+- [26.05.07 PLAN](260507-plan)
+"""
+
+check_req = requests.get(f'{base_url}/wiki?project={proj_id}&slug={slug}', headers=headers, verify=False)
+if check_req.status_code == 200:
+    wiki_pages = check_req.json()
+    if len(wiki_pages) > 0:
+        page_id = wiki_pages[0]['id']
+        version = wiki_pages[0]['version']
+        payload = {
+            "project": proj_id,
+            "slug": slug,
+            "content": content,
+            "version": version
+        }
+        res = requests.put(f'{base_url}/wiki/{page_id}', json=payload, headers=headers, verify=False)
+        print("Updated bookmarks page!")
+        exit()
+
+payload = {
+    "project": proj_id,
+    "slug": slug,
+    "content": content
+}
+res = requests.post(f'{base_url}/wiki', json=payload, headers=headers, verify=False)
+if res.status_code == 201:
+    print("Created bookmarks page!")
+else:
+    print(f"Failed to create bookmarks: {res.text}")

+ 10 - 0
docker-compose.yml

@@ -99,6 +99,16 @@ services:
       - zabbix-server
     restart: always
 
+  nginx:
+    image: nginx:latest
+    ports:
+      - "80:80"
+    volumes:
+      - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
+    depends_on:
+      - app
+    restart: always
+
 volumes:
   mysql_data:
   ollama_data:

+ 24 - 0
nginx/nginx.conf

@@ -0,0 +1,24 @@
+events {
+    worker_connections 1024;
+}
+
+http {
+    server {
+        listen 80;
+        server_name localhost;
+
+        location / {
+            proxy_pass http://app:8502;
+            proxy_set_header Host $host;
+            proxy_set_header X-Real-IP $remote_addr;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_set_header X-Forwarded-Proto $scheme;
+
+            # Streamlit specific (WebSockets)
+            proxy_http_version 1.1;
+            proxy_set_header Upgrade $http_upgrade;
+            proxy_set_header Connection "upgrade";
+            proxy_read_timeout 86400;
+        }
+    }
+}