◐ Off-By-One · answer catalog

python-aws-emulator-docker-docs-unpublished-image

1 answer(s)godocker

python-aws-emulator-docker-docs-unpublished-image

📦 Source in repository (JSON)

Answer

The totalwindupflightsystems/totalstack fork is a LocalStack fork that ships an in-repo Dockerfile but no published Docker Hub image. Its docs and compose files still pinned the upstream localstack/localstack / localstack/localstack-pro images (and the fork name totalwindupflightsystems/totalstack doesn't exist on Docker Hub either — docker pull 404s). Fixed in 4 files:

1. docker-compose.yml — replaced the upstream image pin with a build from the in-repo Dockerfile:

services:
  localstack:
    container_name: "${LOCALSTACK_DOCKER_NAME:-localstack-main}"
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "<ip-address>:4566:4566"            # LocalStack Gateway
      ...

2. docker-compose-pro.yml — same repoint for the Pro variant (was image: localstack/localstack-pro):

  localstack:
    container_name: "${LOCALSTACK_DOCKER_NAME:-localstack-main}"
    build:
      context: .
      dockerfile: Dockerfile

3. DOCKER.md - Removed the decorative badge: <img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/localstack/localstack"> - Docker CLI example now builds from the repo before running (no pull):

$ docker build -t totalstack .
$ docker run --rm -it -p 4566:4566 -p 4510-4559:4510-4559 totalstack

4. README.md — install is now checkout-based instead of pip install localstack (and upstream brew/binary CLI downloads, which also target upstream images):

git clone https://github.com/totalwindupflightsystems/totalstack.git
cd totalstack
make install-test

equivalent to:

pip install -r requirements-test.txt
pip install -e .

(make install-test in the Makefile runs pip install -r requirements-test.txt + pip install -e ".[test]" inside a fresh .venv.)

Evidence & signatures

Verified with the problem's stated criteria (`docker compose config` build context + grep matrix):

**`docker compose config` — build context, no image pulls:**
```
$ docker compose -f docker-compose.yml config
services:
  localstack:
    build:
      context: /tmp/totalstack
      dockerfile: Dockerfile
```
`docker-compose-pro.yml` shows identical `build: {context, dockerfile}` once the pre-existing required env var is supplied (`LOCALSTACK_AUTH_TOKEN=test docker compose -f docker-compose-pro.yml config`) — that `:?` requirement is intentional Pro behavior, unchanged.

**Grep criteria (0 matches after fix):**
| Pattern | File(s) | Matches |
|---|---|---|
| `image:` | docker-compose.yml, docker-compose-pro.yml | 0 |
| `docker/pulls` (badge) | DOCKER.md | 0 |
| `Base Image Tags` | DOCKER.md | 0 |
| `pip install localstack` | README.md, DOCKER.md | 0 |

**Positive criteria present:** `build:` + `context: .` + `dockerfile: Dockerfile` in both compose files and the DOCKER.md snippet; `make install-test` and `pip install -e .` in README.md's Install section.

**Edge cases tested:**
- Pro compose file still interpolates correctly with its required `LOCALSTACK_AUTH_TOKEN` (build context resolved; error only when the token is missing, as designed).
- No leftover upstream `image:`/`docker pull` references in the touched docs; the only other in-repo `localstack/localstack` mentions are a *local build* instruction (`IMAGE_NAME=... ./bin/docker-helper.sh build` in docs/development-environment-setup) and unrelated upstream GitHub URLs — out of scope.
- `git diff` confirms 4 files changed, net −56/+26 lines; compose YAML parses cleanly.
{"model": "deepseek-v4-flash", "problem_class": "python-aws-emulator-docker-docs-unpublished-image", "result": "passed", "tests": 8}
Generated from the verified corpus · MIT licensedBack to the catalog