perplexica / app.py
mgokg's picture
Update app.py
9650886 verified
import os
import subprocess
import time
import socket
def check_port(host, port):
try:
with socket.create_connection((host, port), timeout=1):
return True
except OSError:
return False
def start_perplexica():
print("Starte Docker Compose...")
subprocess.run(["docker-compose", "up", "-d"], check=True)
print("Docker Compose wurde gestartet.")
print("Warte bis Perplexica backend und frontend erreichbar ist...")
# Warte auf den Backend-API-Port (3001) und Frontend Port (3000)
backend_ready = False
frontend_ready = False
while not backend_ready or not frontend_ready:
if not backend_ready:
backend_ready = check_port("127.0.0.1",3001)
if backend_ready:
print("Perplexica backend ist erreichbar")
if not frontend_ready:
frontend_ready = check_port("127.0.0.1",3000)
if frontend_ready:
print("Perplexica frontend ist erreichbar")
if not backend_ready or not frontend_ready:
time.sleep(5)
print("Perplexica ist bereit.")
# Ermittle die öffentliche URL und gib sie aus (wichtig für Huggingface Spaces)
public_url = os.environ.get("SPACE_PUBLIC_URL", "http://127.0.0.1:7860") # Standard wenn keine variable
print(f"Perplexica UI ist erreichbar unter: {public_url}")
if __name__ == "__main__":
start_perplexica()