diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..b18441f --- /dev/null +++ b/.env.example @@ -0,0 +1,9 @@ +# Copy to .env and adjust as needed + +CLICKTHROUGH_HOST=127.0.0.1 +CLICKTHROUGH_PORT=8123 +CLICKTHROUGH_TOKEN=change-me +CLICKTHROUGH_DRY_RUN=false +CLICKTHROUGH_GRID_ROWS=12 +CLICKTHROUGH_GRID_COLS=12 +# CLICKTHROUGH_ALLOWED_REGION=0,0,1920,1080 diff --git a/README.md b/README.md index 62dd3be..6184330 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,8 @@ CLICKTHROUGH_TOKEN=change-me python -m server.app Server defaults to `127.0.0.1:8123`. +`python-dotenv` is enabled, so values from a repo-root `.env` file are loaded automatically. + ## Minimal API flow 1. `GET /screen` with grid diff --git a/requirements.txt b/requirements.txt index 2ba21ce..d84d849 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,6 @@ fastapi>=0.115.0 uvicorn>=0.30.0 +python-dotenv>=1.0.1 mss>=9.0.1 pillow>=10.4.0 pyautogui>=0.9.54 diff --git a/server/app.py b/server/app.py index 91867f2..25ec60e 100644 --- a/server/app.py +++ b/server/app.py @@ -5,10 +5,13 @@ import time import uuid from typing import Literal, Optional +from dotenv import load_dotenv from fastapi import Depends, FastAPI, Header, HTTPException, Response from pydantic import BaseModel, Field, model_validator +load_dotenv(dotenv_path=".env", override=False) + app = FastAPI(title="clickthrough", version="0.1.0")