Skip to content

docs: remove Docker artifacts (keep S360 server image), add local-first Docker-for-Neo4j workflow#54

Open
colombod wants to merge 2 commits into
mainfrom
remove-docker-local-first-docs
Open

docs: remove Docker artifacts (keep S360 server image), add local-first Docker-for-Neo4j workflow#54
colombod wants to merge 2 commits into
mainfrom
remove-docker-local-first-docs

Conversation

@colombod

Copy link
Copy Markdown
Collaborator

Summary

Removes maintained Docker artifacts from the repo — keeping only the S360-compliant server Dockerfile — and rewrites the documentation/setup around a local-first workflow that runs Neo4j in a documented Docker container. Also corrects and expands the Azure deployment guide.

Removed

  • docker-compose.yml, docker-compose.airgap.yml (unused Compose stack)
  • start.sh (Compose wrapper)
  • neo4j.Dockerfile (Neo4j no longer shipped as a container image)
  • test/airgap/ (README.md, dtu-profile.yaml, verify-airgap-apoc.sh)
  • tests/test_docker_compose_simplified.py, tests/test_docker_infrastructure.py, tests/test_start_sh.py (now-subjectless tests)

Kept (intentionally)

The server Dockerfile (S360/Qualys-compliant Azure Linux base, PR #50), .dockerignore, docker-entrypoint.sh, and the tests/neo4j/ fixtures + the docker dev-dependency.

Added

  • scripts/prime-local-config.py — stdlib-only local key-priming helper replacing the old Docker credential bootstrap: generates the API token (printed once, only the sha256 digest stored) and writes server-config.yaml with bolt://localhost:7687 + a local writable data tree.
  • docs/local-development.md — canonical "Running Locally" guide: Neo4j via a single documented docker run (NEO4J_PLUGINS auto-installs APOC + GDS, --restart unless-stopped for boot persistence), key priming, run the server, plus ask-Amplifier prompts.

Changed

  • README.md — removed the Docker Compose / single-container run sections and all references to deleted files; local-first is now the primary path.
  • docs/azure-deployment.md — rewritten into a generic, compliant "deploy via amplifier-online" guide (no as-built specifics/secrets/IPs): S360 base-image policy (PR fix(docker): adopt Azure Linux base + remove EOL packaging tools to clear S360 SCA findings #50), a Neo4j VM build section (capacity, APOC+GDS, persistent disk, private VNet/NSG), Key Vault secret wiring with the declarative-redeploy rule, dual-client config keyed to the Neo4j Community single-account reality, and a Neo4j-safe version-bump runbook.
  • docs/service-setup.md — local Neo4j guidance; removed the docker-compose Caddy HTTPS section.
  • docs/managing-api-keys.md — local prime-local-config.py bootstrap.
  • docs/remote-access-sharing.md — standalone/local host-binding + backup/restore.
  • docs/designs/per-user-api-keys.md — bootstrap references off the deleted start.sh.
  • AGENTS.md — keep/remove policy and the S360 base-image compliance anchor.
  • amplifier-online.yaml — deployed image tag reference v6.0.0v6.6.6.

Validation

  • pytest tests/ collects 1881 tests, no errors.
  • scripts/prime-local-config.py passes ruff + pyright and was tested end-to-end.
  • Repo-wide grep confirms zero broken references to any deleted file.

🤖 Generated with Amplifier

@colombod colombod force-pushed the remove-docker-local-first-docs branch 2 times, most recently from 11168e4 to 8c9f884 Compare July 11, 2026 22:36
colombod and others added 2 commits July 13, 2026 23:29
…st Docker-for-Neo4j workflow

Remove maintained Docker artifacts from the repo (keeping ONLY the
S360-compliant server Dockerfile) and rewrite documentation/setup around a
local-first workflow that runs Neo4j in a documented Docker container.

Removed:
- docker-compose.yml, docker-compose.airgap.yml (unused Compose stack)
- start.sh (Compose wrapper)
- neo4j.Dockerfile (Neo4j no longer shipped as a container image)
- test/airgap/ (README.md, dtu-profile.yaml, verify-airgap-apoc.sh)
- tests/test_docker_compose_simplified.py, tests/test_docker_infrastructure.py,
  tests/test_start_sh.py (now-subjectless tests)

Kept intentionally: the server Dockerfile (S360/Qualys-compliant Azure Linux
base, PR #50), .dockerignore, docker-entrypoint.sh, tests/neo4j/ fixtures and
the docker dev-dependency.

Added:
- scripts/prime-local-config.py — stdlib-only local key-priming helper that
  replaces the old Docker credential bootstrap (generates the API token, prints
  it once, stores only the sha256 digest, writes server-config.yaml with
  bolt://localhost:7687 and a local writable data tree).
- docs/local-development.md — canonical "Running Locally" guide: Neo4j via a
  single documented `docker run` (NEO4J_PLUGINS auto-installs APOC + GDS,
  --restart unless-stopped for boot persistence), key priming, run the server,
  plus ask-Amplifier prompts.

Changed:
- README.md — removed the Docker Compose / single-container run sections and all
  references to deleted files; local-first is now the primary path.
- docs/azure-deployment.md — rewritten into a generic, compliant "deploy via
  amplifier-online" guide (no as-built specifics/secrets/IPs): S360 base-image
  policy (PR #50), a Neo4j VM build section (capacity, APOC+GDS, persistent
  disk, private VNet/NSG), Key Vault secret wiring with the declarative-redeploy
  rule, dual-client config keyed to the Neo4j Community single-account reality,
  and a Neo4j-safe version-bump runbook.
- docs/service-setup.md — local Neo4j guidance; removed the docker-compose Caddy
  HTTPS section.
- docs/managing-api-keys.md — local prime-local-config.py bootstrap.
- docs/remote-access-sharing.md — standalone/local host-binding + backup/restore.
- docs/designs/per-user-api-keys.md — bootstrap references off deleted start.sh.
- AGENTS.md — keep/remove policy and the S360 base-image compliance anchor.
- amplifier-online.yaml — deployed image tag reference v6.0.0 -> v6.6.6.

Validation: `pytest tests/` collects 1881 tests with no errors;
scripts/prime-local-config.py passes ruff + pyright and was tested end-to-end;
repo-wide grep confirms zero broken references to any deleted file.

🤖 Generated with [Amplifier](https://github.com/microsoft/amplifier)

Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
Surface the real fixes from PR #55 (feat: add graph data science plugin):

- Drop the wrong `dbms.security.procedures.allowlist=apoc.*,gds.*` from the
  bare-metal Neo4j VM config in azure-deployment.md — an allowlist restricted to
  the plugins would block the built-in db.*/dbms.* procedures the server needs.
  Set ONLY `unrestricted`.
- local-development.md docker run: add explicit
  `NEO4J_dbms_security_procedures_unrestricted='apoc.*,gds.*'` so GDS procedures
  load, pin the image to neo4j:5.26.22-community, and document that GDS is fetched
  at first start matched to the Neo4j version per the official compatibility
  matrix (GDS 2.13.x for Neo4j 5.26.x).

🤖 Generated with [Amplifier](https://github.com/microsoft/amplifier)

Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
@colombod colombod force-pushed the remove-docker-local-first-docs branch from 8c9f884 to 6ea8a7d Compare July 13, 2026 23:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant