docs: always use port 5173 for feature stacks (no per-branch ports)

Update feature branch workflow: stop main stack before starting feature
stack, always use :5173. Simplify feat override template — no port
remapping needed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
curo1305
2026-04-21 11:48:22 +02:00
parent 3a66aeeec5
commit 0d8e0366c6
+9 -12
View File
@@ -329,23 +329,18 @@ git checkout -b feat/<descriptive-title> # e.g. feat/user-profile-avatar-uploa
``` ```
#### 2 — Spin up an isolated Docker stack for the feature #### 2 — Spin up an isolated Docker stack for the feature
A dedicated compose stack runs alongside the main dev stack so both can be tested independently. The feature stack always uses port `5173` (same as the main dev stack). Stop the main stack before starting a feature stack, and restart it when done.
**Find the next free port** (main dev stack owns 5173): **Stop the main dev stack first:**
```bash ```bash
for port in $(seq 5174 5200); do docker compose -f docker-compose.yml -f docker-compose.dev.yml down
lsof -iTCP:$port -sTCP:LISTEN -t &>/dev/null || { echo "$port"; break; }
done
``` ```
Use the first free port returned (call it `$PORT`).
**Create a per-feature override file** at `docker-compose.feat-<slug>.yml` (gitignored): **Create a per-feature override file** at `docker-compose.feat-<slug>.yml` (gitignored):
```yaml ```yaml
# docker-compose.feat-<slug>.yml — feature test stack, never committed to main # docker-compose.feat-<slug>.yml — feature test stack, never committed to main
services: services:
frontend: frontend:
ports:
- "$PORT:8080" # e.g. 5174:8080
container_name: frontend-<slug> container_name: frontend-<slug>
backend: backend:
container_name: backend-<slug> container_name: backend-<slug>
@@ -371,8 +366,7 @@ docker compose -f docker-compose.yml \
--project-name <slug> up --build --project-name <slug> up --build
``` ```
The feature frontend is now reachable at `http://localhost:$PORT`. The feature frontend is now reachable at `http://localhost:5173`.
The main dev stack continues running unaffected on `:5173`.
#### 3 — Develop on the feature branch #### 3 — Develop on the feature branch
All code changes happen on `feat/<slug>`. Commit and push normally: All code changes happen on `feat/<slug>`. Commit and push normally:
@@ -383,7 +377,7 @@ git push -u origin feat/<slug>
``` ```
#### 4 — Confirm functionality #### 4 — Confirm functionality
Before merging, verify all of the following on `http://localhost:$PORT`: Before merging, verify all of the following on `http://localhost:5173`:
- [ ] Login and registration work end-to-end - [ ] Login and registration work end-to-end
- [ ] The specific feature works as intended - [ ] The specific feature works as intended
- [ ] No regressions visible in the UI - [ ] No regressions visible in the UI
@@ -400,13 +394,16 @@ git branch -d feat/<slug>
git push origin --delete feat/<slug> git push origin --delete feat/<slug>
``` ```
#### 6 — Tear down the feature stack #### 6 — Tear down the feature stack and restart main dev stack
```bash ```bash
docker compose -f docker-compose.yml \ docker compose -f docker-compose.yml \
-f docker-compose.dev.yml \ -f docker-compose.dev.yml \
-f docker-compose.feat-<slug>.yml \ -f docker-compose.feat-<slug>.yml \
--project-name <slug> down --volumes --remove-orphans --project-name <slug> down --volumes --remove-orphans
rm docker-compose.feat-<slug>.yml rm docker-compose.feat-<slug>.yml
# Restart the main dev stack on :5173
docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build -d
``` ```
--- ---