diff --git a/.env.example b/.env.example index 507773e..b8b02f8 100644 --- a/.env.example +++ b/.env.example @@ -6,7 +6,7 @@ PORTFOLIOHUB_ADMIN_TOKENS=admin-token-789 PORTFOLIOHUB_ENVIRONMENT=development # Enable DB-backed repository (uses TIMESCALEDB_* below) -PORTFOLIOHUB_DB_ENABLED=false +PORTFOLIOHUB_DB_ENABLED=true PORTFOLIOHUB_BOOTSTRAP_USERNAME= PORTFOLIOHUB_BOOTSTRAP_EMAIL= PORTFOLIOHUB_BOOTSTRAP_PASSWORD= @@ -17,9 +17,9 @@ PORTFOLIOHUB_BOT_TOKEN_DEFAULT_TTL_DAYS=365 # TimescaleDB / PostgreSQL connection settings TIMESCALEDB_HOST=localhost TIMESCALEDB_PORT=5432 -TIMESCALEDB_NAME=portfoliohub -TIMESCALEDB_USER=portfoliohub -TIMESCALEDB_PASSWORD= +TIMESCALEDB_NAME=portfolio_hub +TIMESCALEDB_USER=portfolio_hub_user +TIMESCALEDB_PASSWORD=change-me TIMESCALEDB_SSLMODE=prefer TIMESCALEDB_CONNECT_TIMEOUT_SEC=10 TIMESCALEDB_APPLICATION_NAME=portfoliohub diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml deleted file mode 100644 index fad8953..0000000 --- a/.pre-commit-config.yaml +++ /dev/null @@ -1,9 +0,0 @@ -repos: - - repo: local - hooks: - - id: docs-sync-check - name: docs-sync-check - entry: python3 scripts/check_docs_sync.py --staged - language: system - pass_filenames: false - stages: [pre-commit] diff --git a/README.md b/README.md index ad00e9f..f1f4bab 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ For complete configuration options, see `.env.example`. ```bash python -m venv .venv source .venv/bin/activate -pip install -e .[dev] +python -m pip install -e '.[dev]' # Configure .env cp .env.example .env @@ -57,9 +57,46 @@ uvicorn app.main:app --reload pytest ``` +If you need local infrastructure for TimescaleDB, Redis, and Loki, start them with Docker Compose before running the app: + +```bash +docker compose -f docker-compose.local-test.yml up -d +docker compose -f docker-compose.local-test.yml ps +``` + +Default endpoints exposed by `docker-compose.local-test.yml`: + +- TimescaleDB: `127.0.0.1:5432` +- Redis: `127.0.0.1:6379` (RedisInsight UI: `127.0.0.1:8001`) +- Loki: `127.0.0.1:3100` + +Typical `.env` values for this local setup: + +```env +PORTFOLIOHUB_DB_ENABLED=true +TIMESCALEDB_HOST=127.0.0.1 +TIMESCALEDB_PORT=5432 +TIMESCALEDB_USER=portfolio_hub_user +TIMESCALEDB_PASSWORD=change-me +TIMESCALEDB_NAME=portfolio_hub + +REDIS_HOST=127.0.0.1 +REDIS_PORT=6379 + +LOKI_HOST=127.0.0.1 +LOKI_PORT=3100 +``` + +To stop and remove the local containers: + +```bash +docker compose -f docker-compose.local-test.yml down +``` + ## CLI The repository now includes a `portfoliohub` CLI that mirrors the main portfolio flows from `jsbot-kis`. +The same commands are also available through the shorter alias `phub`. ```bash portfoliohub --help diff --git a/pyproject.toml b/pyproject.toml index 2ecda84..b467d3c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,6 +21,7 @@ dependencies = [ [project.scripts] portfoliohub = "app.cli.main:main" +phub = "app.cli.main:main" [project.optional-dependencies] dev = [