Repository navigation
Deploy (CPU/CUDA images, Cloudflare Tunnel, backups) and a new README with docs/ - #15
Merged
Merged
Conversation
- Dockerfile installs PyTorch from the CPU-only index before the requirements, so servers and VPSs no longer download the CUDA build (several GB); the build fails if a CUDA torch slips in. - Dockerfile.cuda keeps the default PyPI build with CUDA; docker-compose.gpu.yml switches the api service to it and reserves the host's NVIDIA GPUs. - Distinct image tags (cpu / cuda) so switching does not rebuild every time; the startup log says which device the embedding model uses. - README: when to use which, and the CPU-only pip command for local installs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JLWZrfy12imc6dQRsEtFjj
…ecrets from .env - docker-compose.yml: database password from POSTGRES_PASSWORD; app port bound to 127.0.0.1 by default (API_BIND); restart policies; optional services by profile: "tunnel" (cloudflared with CLOUDFLARE_TUNNEL_TOKEN, HTTPS with no open ports) and "backup" (daily pg_dump in ./backups, BACKUP_KEEP_DAYS kept). - CLIENT_IP_HEADER: behind the tunnel every request comes from cloudflared, so the login limits use Cloudflare's CF-Connecting-IP when configured. - scripts/update.sh: pull, rebuild, restart. - .env.example: new settings; DEFAULT_FEE_BPS and MARKET_NEWS_WINDOW_HOURS aligned with the current defaults (a copied .env was overriding them with the old values). - README: step-by-step deploy guide (server, Docker, tunnel, .env, start, update, backup and restore, troubleshooting). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JLWZrfy12imc6dQRsEtFjj
- README: centered header with badges and quick links, hero screenshot, features grid, screenshot gallery (light and dark via <picture>), how it works (diagram and five steps), quick start, hosting costs, essential configuration, documentation index, stack, limits. - docs/: the previous sections split by topic (guida, metodo, strategia, allerte, verifica, costi, configurazione, sicurezza, deploy, api, sviluppo) with an index; internal links rewritten across pages and checked. - Out-of-date content fixed on the way: limits (multi-outcome markets are supported, fees no longer from takerBaseFee), dashboard table (Cosa fare, Portafoglio, Uso e costi, intervals and CLV in Calibrazione), pipeline table, project tree and test list, local install note about migrations. - docs/images: screenshots of the demo data, dark ones compressed to 256 colours; docs are excluded from the Docker build context. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JLWZrfy12imc6dQRsEtFjj
…essage when the cookie is refused - docs/deploy.md: new section on running locally (no tunnel needed: optional services are profiles) and opening the dashboard from other devices at home (API_BIND=0.0.0.0 and SESSION_COOKIE_SECURE=false, with the plain-HTTP warning). - docs/configurazione.md: the Docker compose variables (POSTGRES_PASSWORD, COMPOSE_PROFILES, CLOUDFLARE_TUNNEL_TOKEN, BACKUP_KEEP_DAYS, API_BIND). - Login: when the password is right but the browser refuses the session cookie (Secure cookie over plain HTTP from a network address), the form now says so and names the setting, instead of silently showing the login again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JLWZrfy12imc6dQRsEtFjj
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Docker images
Dockerfile(default): installs PyTorch from the CPU-only index, so servers no longer download the CUDA build (several GB). The build fails if a CUDA torch slips in.Dockerfile.cuda: keeps the CUDA build for a local NVIDIA GPU.docker-compose.gpu.ymlswitches theapiservice to it and reserves the host's GPUs.news-aggregator-api:cpu/:cuda). The startup log says which device the embedding model uses.Deploy on a VPS with Cloudflare Tunnel
POSTGRES_PASSWORDin.env; app port bound to127.0.0.1(API_BIND);restart: unless-stoppedon every service.tunnel:cloudflaredwithCLOUDFLARE_TUNNEL_TOKEN, HTTPS with no open ports.backup: dailypg_dumpin./backups, keepingBACKUP_KEEP_DAYSdays.CLIENT_IP_HEADER=CF-Connecting-IP: behind the tunnel every request comes fromcloudflared, so without it the login limits would treat everyone as one IP.scripts/update.sh: pulls, rebuilds and restarts..env.example:DEFAULT_FEE_BPSandMARKET_NEWS_WINDOW_HOURSaligned with the current defaults. A copied.envwas overriding them with the old values.Local and home-network use
docs/deploy.md: running locally needs no tunnel, because the optional services are profiles. To open the dashboard from other devices at home, setAPI_BIND=0.0.0.0andSESSION_COOKIE_SECURE=false, with a warning about plain HTTP.docs/configurazione.md: lists the Docker compose variables.Securecookie over plain HTTP from a network address), the form now says so and names the setting. Before, it silently showed the login again. Checked in a browser in three cases:auto: the message appears;localhostwithauto: sign-in works;false: sign-in works.README and documentation
<picture>);docs/: the previous sections split by topic, with an index. Internal links were rewritten across pages and checked.takerBaseFee;docs/images: screenshots of the demo data, about 1.1 MB in total;docsis excluded from the Docker build context.Verification
docker compose configresolves all combinations.download.pytorch.organd shields.io are blocked by this environment's proxy. The images, the live tunnel and the badges were not exercised.🤖 Generated with Claude Code
https://claude.ai/code/session_01JLWZrfy12imc6dQRsEtFjj