# ponytail: dev-server images (not multi-stage prod builds) — this is a demo. # `docker compose up` → app at http://localhost:4200, Swagger at http://localhost:5000/swagger services: api: image: mcr.microsoft.com/dotnet/sdk:10.0 working_dir: /src command: dotnet run --project src/BigRegister.Api --urls http://+:5000 environment: - ASPNETCORE_ENVIRONMENT=Development volumes: # ':z' relabels for SELinux (Fedora/RHEL); harmless on other hosts. # WP-22: no separate volume needed for the SQLite file — `dotnet run` sets # its cwd to the project dir (src/BigRegister.Api), which this bind mount # already covers, so bigregister.db lands on the host and survives # `docker compose restart api` / `down` + `up` for free (gitignored). - ./backend:/src:z - api-bin:/src/src/BigRegister.Api/bin - api-obj:/src/src/BigRegister.Api/obj ports: - '5000:5000' web: image: node:24 working_dir: /app # Uses the committed generated client (no codegen at startup); proxies /api → api container. command: sh -c "npm ci && npx ng serve --host 0.0.0.0 --proxy-config proxy.conf.docker.json" volumes: - ./:/app:z - web-modules:/app/node_modules ports: - '4200:4200' depends_on: - api volumes: api-bin: api-obj: web-modules: