python-aws-emulator-docker-docs-unpublished-image
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
build: {context: ., dockerfile: Dockerfile} instead of image: localstack/localstack, and the note about "pulls the current nightly build… set the localstack image tag" was replaced with a note that the image is built from the current checkout (docker compose up --build to rebuild).latest/stable/<major>/<minor>/<patch> tags that the fork never pushes).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.)
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}