mirror of
https://github.com/stack-auth/stack.git
synced 2026-07-20 21:29:36 +08:00
<!--
ONTRIBUTING.md guidelines:
https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md
-->
<!-- RECURSEML_SUMMARY:START -->
## High-level PR Summary
This PR changes the default development ports for several background
services to avoid conflicts. PostgreSQL moves from port `5432` to
`8128`, Inbucket SMTP from `2500` to `8129`, Inbucket POP3 from `1100`
to `8130`, and the OpenTelemetry collector from `4318` to `8131`. All
references across configuration files, Docker Compose setups,
environment files, CI/CD workflows, test files, and documentation have
been updated to reflect these new port assignments. A knowledge base
document has been added to document the new port mappings.
⏱️ Estimated Review Time: 15-30 minutes
<details>
<summary>💡 Review Order Suggestion</summary>
| Order | File Path |
| --- | --- |
| 1 | `claude/CLAUDE-KNOWLEDGE.md` |
| 2 | `apps/dev-launchpad/public/index.html` |
| 3 | `docker/dependencies/docker.compose.yaml` |
| 4 | `docker/emulator/docker.compose.yaml` |
| 5 | `apps/backend/.env` |
| 6 | `apps/backend/.env.development` |
| 7 | `docker/server/.env.example` |
| 8 | `package.json` |
| 9 | `.devcontainer/devcontainer.json` |
| 10 | `apps/e2e/.env.development` |
| 11 | `.github/workflows/check-prisma-migrations.yaml` |
| 12 | `.github/workflows/docker-server-test.yaml` |
| 13 | `.github/workflows/e2e-api-tests.yaml` |
| 14 | `.github/workflows/e2e-source-of-truth-api-tests.yaml` |
| 15 | `.github/workflows/restart-dev-and-test.yaml` |
| 16 |
`apps/e2e/tests/backend/endpoints/api/v1/internal/email-drafts.test.ts`
|
| 17 | `apps/e2e/tests/backend/endpoints/api/v1/internal/email.test.ts`
|
| 18 | `apps/e2e/tests/backend/endpoints/api/v1/send-email.test.ts` |
| 19 |
`apps/e2e/tests/backend/endpoints/api/v1/unsubscribe-link.test.ts` |
| 20 | `apps/e2e/tests/backend/workflows.test.ts` |
| 21 | `docs/templates/others/self-host.mdx` |
</details>
[](https://discord.gg/n3SsVDAW6U)
[](https://squash-322339097191.europe-west3.run.app/interactive/21c3d5c36237cfa8aa584be4a22457c7e4e393688dd800b78799b3ef730fd693/?repo_owner=stack-auth&repo_name=stack-auth&pr_number=962)
<!-- RECURSEML_SUMMARY:END -->
<!-- ELLIPSIS_HIDDEN -->
----
> [!IMPORTANT]
> This PR introduces customizable development ports using
`NEXT_PUBLIC_STACK_PORT_PREFIX`, updating configurations, documentation,
and tests accordingly.
>
> - **Behavior**:
> - Default development ports for services are now customizable via
`NEXT_PUBLIC_STACK_PORT_PREFIX`.
> - PostgreSQL port changed from `5432` to
`${NEXT_PUBLIC_STACK_PORT_PREFIX:-81}28`.
> - Inbucket SMTP port changed from `2500` to
`${NEXT_PUBLIC_STACK_PORT_PREFIX:-81}29`.
> - Inbucket POP3 port changed from `1100` to
`${NEXT_PUBLIC_STACK_PORT_PREFIX:-81}30`.
> - OpenTelemetry collector port changed from `4318` to
`${NEXT_PUBLIC_STACK_PORT_PREFIX:-81}31`.
> - **Configuration**:
> - Updated `docker.compose.yaml` to use new port variables for services
like PostgreSQL, Inbucket, and OpenTelemetry.
> - Environment files in `apps/backend`, `apps/dashboard`, and
`apps/e2e` updated to use `NEXT_PUBLIC_STACK_PORT_PREFIX`.
> - `package.json` scripts updated to reflect new port configurations.
> - **Documentation**:
> - Added `CLAUDE-KNOWLEDGE.md` to document new port mappings.
> - Updated `self-host.mdx` to reflect new port configurations.
> - **Testing**:
> - Updated test files in `apps/e2e/tests` to use new port
configurations.
> - Added `helpers/ports.ts` for port-related utilities in tests.
>
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for 76ef55f58f. You can
[customize](https://app.ellipsis.dev/stack-auth/settings/summaries) this
summary. It will automatically update as commits are pushed.</sup>
----
<!-- ELLIPSIS_HIDDEN -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enable configurable development ports via a
NEXT_PUBLIC_STACK_PORT_PREFIX, allowing parallel local environments with
custom port prefixes.
- **Bug Fixes**
- Updated local service port mappings and CI/workflow settings so
tooling and tests use the new prefixed ports consistently.
- **Documentation**
- Added docs and contributor guidance for running multiple parallel
workspaces with custom port prefixes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: N2D4 <[email protected]>
46 lines
1.6 KiB
JSON
46 lines
1.6 KiB
JSON
{
|
|
"name": "Stack Auth Development",
|
|
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
|
|
"features": {
|
|
"ghcr.io/devcontainers/features/node:1": {
|
|
"version": "22"
|
|
},
|
|
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
|
|
"ghcr.io/devcontainers/features/git:1": {},
|
|
"github-cli": "latest"
|
|
},
|
|
"hostRequirements": {
|
|
"cpus": 2,
|
|
"memory": "16gb"
|
|
},
|
|
"forwardPorts": [
|
|
8100, 8101, 8102, 8103, 8104, 8105, 8106, 8107, 8108, 8109,
|
|
8110, 8111, 8112, 8113, 8114, 8115, 8116, 8117, 8118, 8119,
|
|
8120, 8121, 8122, 8123, 8124, 8125, 8126, 8127, 8128, 8129,
|
|
8130, 8131, 8132, 8133, 8134, 8135, 8136, 8137, 8138, 8139,
|
|
8140, 8141, 8142, 8143, 8144, 8145, 8146, 8147, 8148, 8149,
|
|
8150, 8151, 8152, 8153, 8154, 8155, 8156, 8157, 8158, 8159,
|
|
8160, 8161, 8162, 8163, 8164, 8165, 8166, 8167, 8168, 8169,
|
|
8170, 8171, 8172, 8173, 8174, 8175, 8176, 8177, 8178, 8179,
|
|
8180, 8181, 8182, 8183, 8184, 8185, 8186, 8187, 8188, 8189,
|
|
8190, 8191, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8199
|
|
],
|
|
"postCreateCommand": "chmod +x .devcontainer/set-env.sh && pnpm install && pnpm build:packages && pnpm codegen && pnpm run start-deps && pnpm run stop-deps",
|
|
"postStartCommand": "pnpm install && clear",
|
|
"postAttachCommand": ". .devcontainer/set-env.sh",
|
|
"customizations": {
|
|
"vscode": {
|
|
"extensions": [
|
|
"dbaeumer.vscode-eslint",
|
|
"streetsidesoftware.code-spell-checker",
|
|
"YoavBls.pretty-ts-errors",
|
|
"mxsdev.typescript-explorer",
|
|
"github.vscode-github-actions",
|
|
"fabiospampinato.vscode-highlight",
|
|
"Prisma.prisma"
|
|
]
|
|
}
|
|
},
|
|
"remoteUser": "vscode"
|
|
}
|