Skip to content

Bring docker-compose.yml back in line with the env contract #194

Closed

Description

@Miracle656

Background

The dev compose file is stale against .env.example. It passes only the legacy names STELLAR_RPC_URL and CONTRACT_IDS, and omits STELLAR_NETWORK, NETWORKS, SOROBAN_RPC_URL, SAC_CONTRACT_IDS, DIRECT_DATABASE_URL, RETENTION_DAYS and the entire Redis block — so docker compose up cannot produce a dual-network stack and cannot exercise the cache layer at all. It also still carries the obsolete version: "3.9" key.

This is distinct from issue #63, which is about the integration-test compose file; that one exists and works.

Acceptance criteria

  • Env keys match .env.example; legacy names removed, or kept only as documented aliases
  • An optional redis service so CACHE_ENABLED=true works out of the box
  • version: removed
  • docker compose config is warning-free and docker compose up reaches a healthy /readyz on testnet with no extra env
  • README "Start Postgres" / "Start Wraith" steps updated to match

Drips Wave · Complexity: Easy · 100 points


How this repo is laid out

Wraith is a Soroban incoming-transfer indexer: it fills the gap Horizon leaves for SAC/SEP-41 token events by recipient address. Roughly 14k lines under src/, REST + GraphQL + WebSocket, Postgres via Prisma, deployed on Render.

  • Unit tests are jest (src/**/__tests__, tests/*.test.ts), with a coverage gate.
  • Integration tests are vitest (tests/integration/, vitest.integration.config.ts, Docker).
  • Don't mix the two runners in one file.

Known state of main before you start

tsc --noEmit and the unit suite are green. The Integration tests CI job is red, and so is Load test — both predate this batch. Open PRs #177 and #178 address them. If the integration job is red when you open a PR, that is not your fault; say so in the PR and carry on.

Four modules are shipped, closed as done, and imported by nothing: src/indexer/checkpoint.ts, src/ingest/reorg.ts, src/middleware/opa.ts, and src/api/candles.ts + src/workers/ohlc-refresh.ts. So the live indexer today has no reorg handling and no atomic checkpointing, despite both features being closed. Two issues below start unpicking that — don't assume a closed issue means a wired feature.

Ground rules

  • Every PR needs a test that fails before the change and passes after, unless the issue says otherwise.
  • Don't widen a Prometheus label to something unbounded — addresses and contract ids must never become label values.
  • Nothing may log or return a raw database error, a connection string, or a provider URL.
  • Don't reformat a file you're changing. A diff that is 90% whitespace hides the 10% that matters.


Required: Before submitting, join the contributor Telegram so your work can be tracked and counted toward the Stellar Wave: https://t.me/+fxHXq8f1SwlkZDBk

Activity

  1. tobiadewola41-eng commented on Sep 26, 2026

    @tobiadewola41-eng

    @tobiadewola41-eng has applied to work on this issue as part of the Stellar Wave Program's 9th wave.

    I would like to work on this issue

    ℹ️ Repo Maintainers: To accept this application, review their application or assign @tobiadewola41-eng to this issue.

  2. boalambo commented on Sep 27, 2026

    @boalambo
    Contributor

    @boalambo has applied to work on this issue as part of the Stellar Wave Program's 9th wave.

    Hello maintainer, I would like to work on this issue

    ℹ️ Repo Maintainers: To accept this application, review their application or assign @boalambo to this issue.

  3. drips-wave commented on Sep 29, 2026

    @drips-wave

    Congratulations, @boalambo! 🎉 Your application was accepted by the repo's maintainers, and the issue is due on September 30, 2026.

    🧑‍💻 @boalambo: Please resolve the issue such that the repo's maintainers have enough time to review your contribution before the due date. You'll earn Points for completing the issue on-time, which will make you eligible for a share of the Stellar Wave Program's reward pool.

    Warning

    When opening a PR, please link it to this issue to ensure it gets tracked accurately. Points are awarded when this issue is marked as completed by the maintainer.

    🤠 Repo maintainers: Please keep an eye on the contributor's progress and review their work before the due date. You can manage this issue, including adjusting its complexity and points, here.

    🌊 Happy Wave 🌊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programarea:ciCI/CD and toolingdifficulty:easy~1-3 hourshelp wantedExtra attention is neededpoints:100Easy tier — 100 Wave points

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions