From 30e95f3ec067719df173b72086dc9265438167f8 Mon Sep 17 00:00:00 2001 From: Goldy <153996346+g0ldyy@users.noreply.github.com> Date: Sat, 29 Jun 2024 15:30:22 +0200 Subject: [PATCH] . --- .dockerignore | 9 -- .env-sample | 2 +- .github/workflows/docker-build-push.yml | 56 ------------- .gitignore | 1 - Dockerfile | 4 - comet/api/core.py | 14 +++- comet/main.py | 20 ++--- comet/templates/index.html | 19 ++--- comet/utils/db.py | 25 +----- comet/utils/models.py | 2 +- docker-compose-dev.yml | 17 ---- docker-compose.yml | 14 ---- makefile | 106 ------------------------ 13 files changed, 35 insertions(+), 254 deletions(-) delete mode 100644 .dockerignore delete mode 100644 .github/workflows/docker-build-push.yml delete mode 100644 docker-compose-dev.yml delete mode 100644 docker-compose.yml delete mode 100644 makefile diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index a48320e..0000000 --- a/.dockerignore +++ /dev/null @@ -1,9 +0,0 @@ -.github/ -*.env* -.gitignore -Dockerfile -LICENSE -*.md -docker-compose*.* -.vscode/ -config.json \ No newline at end of file diff --git a/.env-sample b/.env-sample index ba17f8e..19e88f8 100644 --- a/.env-sample +++ b/.env-sample @@ -7,7 +7,7 @@ DEBRID_PROXY_URL=http://127.0.0.1:1080 INDEXER_MANAGER_TYPE=jackett # or prowlarr INDEXER_MANAGER_URL=http://127.0.0.1:9117 INDEXER_MANAGER_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -INDEXER_MANAGER_INDEXERS=EXAMPLE1_CHANGETHIS,EXAMPLE2_CHANGETHIS INDEXER_MANAGER_TIMEOUT=30 +INDEXER_MANAGER_INDEXERS=EXAMPLE1_CHANGETHIS,EXAMPLE2_CHANGETHIS GET_TORRENT_TIMEOUT=5 CUSTOM_HEADER_HTML=None # only set it if you know what it is \ No newline at end of file diff --git a/.github/workflows/docker-build-push.yml b/.github/workflows/docker-build-push.yml deleted file mode 100644 index 1d9dd2a..0000000 --- a/.github/workflows/docker-build-push.yml +++ /dev/null @@ -1,56 +0,0 @@ -name: Docker Build and Push - -on: - push: - branches: - - main -# release: -# types: [created] - workflow_dispatch: - -jobs: - build-and-push: - runs-on: ubuntu-latest - permissions: - contents: write - packages: write - security-events: write - - steps: - - name: Checkout code - uses: actions/checkout@v4.1.2 - - - name: Docker Setup QEMU - uses: docker/setup-qemu-action@v3 - id: qemu - with: - platforms: amd64,arm64 - - - name: Log into ghcr.io registry - uses: docker/login-action@v3.1.0 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3.2.0 - - - name: Log in to Docker Hub - uses: docker/login-action@v3.1.0 - with: - username: ${{ secrets.DOCKER_HUB_USERNAME }} - password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} - - - name: Build and push Docker image - uses: docker/build-push-action@v5.3.0 - with: - context: . - file: ./Dockerfile - platforms: linux/amd64,linux/arm64 - push: true - cache-from: type=gha - cache-to: type=gha,mode=max - tags: | - ghcr.io/g0ldyy/comet:latest - docker.io/g0ldyy/comet:latest diff --git a/.gitignore b/.gitignore index 8471c45..136a16a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ # Project Based *.db -config.json # Byte-compiled / optimized / DLL files __pycache__/ diff --git a/Dockerfile b/Dockerfile index f79e46f..407c752 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,10 +11,6 @@ ENV PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ POETRY_NO_INTERACTION=1 \ POETRY_HOME="/usr/local" \ - FASTAPI_HOST=0.0.0.0 \ - FASTAPI_PORT=8000 \ - FASTAPI_WORKERS=1 \ - DATABASE_PATH=comet.db \ FORCE_COLOR=1 \ TERM=xterm-256color diff --git a/comet/api/core.py b/comet/api/core.py index d5d4863..6b6deed 100644 --- a/comet/api/core.py +++ b/comet/api/core.py @@ -1,3 +1,5 @@ +import RTN + from fastapi import APIRouter, Request from fastapi.responses import RedirectResponse from fastapi.templating import Jinja2Templates @@ -18,10 +20,20 @@ async def health(): return {"status": "ok"} +indexers = settings.INDEXER_MANAGER_INDEXERS + +webConfig = { + "indexers": indexers, + "languages": [indexer.replace(" ", "_") for indexer in RTN.patterns.language_code_mapping.keys()], + "resolutions": ["480p", "720p", "1080p", "1440p", "2160p", "2880p", "4320p"] +} + +print(f"aaaa : {webConfig}") + @main.get("/configure") @main.get("/{b64config}/configure") async def configure(request: Request): - return templates.TemplateResponse("index.html", {"request": request, "CUSTOM_HEADER_HTML": settings.CUSTOM_HEADER_HTML}) + return templates.TemplateResponse("index.html", {"request": request, "CUSTOM_HEADER_HTML": settings.CUSTOM_HEADER_HTML, "webConfig": webConfig}) @main.get("/manifest.json") diff --git a/comet/main.py b/comet/main.py index 72f6454..389da9d 100644 --- a/comet/main.py +++ b/comet/main.py @@ -15,7 +15,7 @@ from starlette.requests import Request from comet.api.core import main from comet.api.stream import streams -from comet.utils.db import setup_database, teardown_database, write_config +from comet.utils.db import setup_database, teardown_database from comet.utils.logger import logger from comet.utils.models import settings @@ -39,7 +39,6 @@ class LoguruMiddleware(BaseHTTPMiddleware): @asynccontextmanager async def lifespan(app: FastAPI): - write_config() await setup_database() yield await teardown_database() @@ -94,7 +93,7 @@ class Server(uvicorn.Server): def signal_handler(sig, frame): # This will handle kubernetes/docker shutdowns better # Toss anything that needs to be gracefully shutdown here - logger.log('COMET', 'Exiting Gracefully.') + logger.log("COMET", "Exiting Gracefully.") sys.exit(0) signal.signal(signal.SIGINT, signal_handler) @@ -110,15 +109,14 @@ config = uvicorn.Config( server = Server(config=config) def start_log(): - logger.log('COMET', f'Server started on {settings.FASTAPI_HOST}:{settings.FASTAPI_PORT}') - logger.log('COMET', f'Database: {settings.DATABASE_PATH}') - logger.log('COMET', f'Workers: {settings.FASTAPI_WORKERS}') - logger.log('COMET', f'Get Torrent Timeout: {settings.GET_TORRENT_TIMEOUT}') - logger.log('COMET', f"Debrid Proxy: {settings.DEBRID_PROXY_URL}") - logger.log('COMET', f'Indexers: {settings.INDEXER_MANAGER_INDEXERS}') + logger.log("COMET", f"Server started on http://{settings.FASTAPI_HOST}:{settings.FASTAPI_PORT} - {settings.FASTAPI_WORKERS} workers") + logger.log("COMET", f"Database: {settings.DATABASE_PATH} - TTL: {settings.CACHE_TTL}s") + logger.log("COMET", f"Debrid Proxy: {settings.DEBRID_PROXY_URL}") + logger.log("COMET", f"Indexer Manager: {settings.INDEXER_MANAGER_TYPE}|{settings.INDEXER_MANAGER_URL} - Timeout: {settings.INDEXER_MANAGER_TIMEOUT}s") + logger.log("COMET", f"Indexers: {settings.INDEXER_MANAGER_INDEXERS}") + logger.log("COMET", f"Get Torrent Timeout: {settings.GET_TORRENT_TIMEOUT}s") + logger.log("COMET", f"Custom Header HTML Enabled: {bool(settings.CUSTOM_HEADER_HTML)}") - if settings.CUSTOM_HEADER_HTML: - logger.log('COMET', f'Custom Header HTML Enabled: {bool(settings.CUSTOM_HEADER_HTML)}') with server.run_in_thread(): start_log() diff --git a/comet/templates/index.html b/comet/templates/index.html index 4cb9c96..9a97f9b 100644 --- a/comet/templates/index.html +++ b/comet/templates/index.html @@ -481,7 +481,7 @@