Add Docker Compose runner for config.yaml #1
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
pregno/daytrading#1
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Create Docker Compose support for the
daytrading/ PivotBot project so it can run using a repository-localconfig.yamland.envwithout installing the Python package directly on the host.Plan
See the saved Hermes plan:
.hermes/plans/2026-06-15_014401-docker-compose-config-yaml.md.Scope
docker-compose.ymlthat builds the local image and runs PivotBot with a mountedconfig.yaml..env; do not bake credentials into the image.README.md.Implementation checklist
Dockerfilefor the PivotBot runtime..dockerignoreexcluding secrets, local envs, caches, git metadata, and runtime artifacts.docker-compose.ymlwith apivotbotservice../config.yamlinto the container, likely as/app/config.yaml:ro..envloading for Alpaca credentials and live-trading acknowledgement.PYTHONUNBUFFERED=1for readable live logs.python -m pivotbot live --config /app/config.yamlwith safety controlled byconfig.yamlmode.README.mdwith setup, build, backtest, live/paper run, and stop instructions.Acceptance criteria
docker compose configsucceeds.docker compose buildsucceeds.docker compose run --rm pivotbot python -m pivotbot --helpsucceeds.config.yamlis used via mount, not baked into the image..envremains outside the image and git.Test plan
python -m pytestfor the existing suite.docker compose config.docker compose build.docker compose run --rm pivotbot python -m pivotbot --help.Notes / assumptions
liveusing/app/config.yaml;mode: paperin config keeps paper trading as the normal safe mode.I_UNDERSTAND_LIVE_TRADING=yes.Hermes dev workflow: implementation started. I will create a worktree from latest main, implement the Docker Compose runner, run validation, and open a PR linked with Closes #1.
Hermes dev workflow: implementation started. I will create a worktree from latest main, implement the Docker Compose runner, run validation, and open a PR linked with Closes #1.
Hermes dev workflow update: implementation is complete locally in worktree
/Users/andrea/projects/daytrading-issue-1on branchfeat/1-docker-compose-config-yamlat commitf0cf1c7 feat: add Docker Compose runner, but I could not push/open the PR from this cron environment.\n\nImplemented files:Dockerfile,.dockerignore,docker-compose.yml,README.md,.gitignore.\n\nValidation:\n-uv run --with pytest python -m pytest-> 155 passed, 1 warning\n-docker compose config-> passed\n-docker compose build-> blocked because Docker daemon/socket is unavailable at/Users/andrea/.docker/run/docker.sock\n-docker compose run --rm pivotbot python -m pivotbot --help-> blocked for the same Docker daemon issue\n\nPush/PR blocker:\n- HTTPS git push failed:fatal: could not read Username for 'https://forgejo.basa-mimosa.ts.net': Device not configured\n- SSH push failed after accepting host key:Permission denied (publickey,password)\n-fj pr create --agitalso failed authentication.\n\nNext needed action: provide non-interactive git push credentials for this cron environment or push the local branch manually, then open a PR withCloses #1.Implementation completed and PR opened: #2