services: vuln: build: context: . dockerfile: vuln/Dockerfile image: cve-2026-46645-sqladmin-vuln:0.25.0 environment: DATABASE_URL: sqlite:////tmp/cve_lab.db ADMIN_USER: analyst ADMIN_PASSWORD: lab-password SECRET_KEY: cve-2026-46645-vuln-local-secret ports: - "8001:8000" networks: - cve-2026-46645-net healthcheck: test: - CMD - python - -c - | import urllib.request urllib.request.urlopen("http://127.0.0.1:8000/health", timeout=3) interval: 5s timeout: 3s retries: 20 start_period: 5s patched: build: context: . dockerfile: patched/Dockerfile image: cve-2026-46645-sqladmin-patched:0.25.1 environment: DATABASE_URL: sqlite:////tmp/cve_lab.db ADMIN_USER: analyst ADMIN_PASSWORD: lab-password SECRET_KEY: cve-2026-46645-patched-local-secret ports: - "8002:8000" networks: - cve-2026-46645-net healthcheck: test: - CMD - python - -c - | import urllib.request urllib.request.urlopen("http://127.0.0.1:8000/health", timeout=3) interval: 5s timeout: 3s retries: 20 start_period: 5s networks: cve-2026-46645-net: driver: bridge