chore(mana-events): move from port 3065 to 3115 — collision with platform mana-media

Platform-Repo (Code/mana/) reserviert 3065 für mana-media; um Doppel-
Belegung zu vermeiden wandert mana-events (Public-RSVP / Event-Sharing)
auf 3115. Neuer Port-Block 311x ist unbenutzt und gehört strukturell
neben mana-mail (3042) bzw. die anderen 30xx Service-Ports.

Berührt jeden harden-coded 3065-Default — Server-Config, Webapp-Config,
SSR-Routes (rsvp/[token], status), Playwright-Webserver-Setup, e2e-Spec.
PUBLIC_MANA_EVENTS_URL in .env.development zieht beide Variablen mit.

PORT_SCHEMA.md trägt jetzt den Wechsel mit Datum + Begründung —
zukünftiges Ich soll nicht raten warum der Port aus der 30xx-Reihe
ausschert.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-05-06 20:38:46 +02:00
parent 546b94d472
commit 1b579ab0b0
9 changed files with 15 additions and 13 deletions

View file

@ -28,8 +28,8 @@ MANA_CREDITS_URL=http://localhost:3061
# Mana Media Service (CAS, thumbnails, Photos gallery)
MANA_MEDIA_URL=http://localhost:3015
# Mana Events Service (public RSVP & event sharing)
MANA_EVENTS_URL=http://localhost:3065
PUBLIC_MANA_EVENTS_URL=http://localhost:3065
MANA_EVENTS_URL=http://localhost:3115
PUBLIC_MANA_EVENTS_URL=http://localhost:3115
# Service key for service-to-service communication
MANA_SERVICE_KEY=dev-service-key-for-bot-sso-2024

View file

@ -14,7 +14,7 @@ import postgres from 'postgres';
const DATABASE_URL =
process.env.DATABASE_URL || 'postgresql://mana:devpassword@localhost:5432/mana_platform';
const EVENTS_URL = process.env.PUBLIC_MANA_EVENTS_URL || 'http://localhost:3065';
const EVENTS_URL = process.env.PUBLIC_MANA_EVENTS_URL || 'http://localhost:3115';
const sql = postgres(DATABASE_URL, { max: 2 });

View file

@ -59,11 +59,11 @@ export default defineConfig({
},
{
command: 'cd ../../../../services/mana-events && bun run src/index.ts',
url: 'http://localhost:3065/health',
url: 'http://localhost:3115/health',
reuseExistingServer: true,
timeout: 60_000,
env: {
PORT: '3065',
PORT: '3115',
DATABASE_URL:
process.env.DATABASE_URL ||
'postgresql://mana:devpassword@localhost:5432/mana_platform',

View file

@ -42,9 +42,9 @@ export function getManaEventsUrl(): string {
if (browser && typeof window !== 'undefined') {
const injected = (window as unknown as { __PUBLIC_MANA_EVENTS_URL__?: string })
.__PUBLIC_MANA_EVENTS_URL__;
return injected || 'http://localhost:3065';
return injected || 'http://localhost:3115';
}
return process.env.PUBLIC_MANA_EVENTS_URL || 'http://localhost:3065';
return process.env.PUBLIC_MANA_EVENTS_URL || 'http://localhost:3115';
}
/**

View file

@ -10,7 +10,7 @@ import type { PageServerLoad } from './$types';
const EVENTS_URL =
process.env.PUBLIC_MANA_EVENTS_URL_CLIENT ||
process.env.PUBLIC_MANA_EVENTS_URL ||
'http://localhost:3065';
'http://localhost:3115';
type Lang = 'de' | 'en' | 'it' | 'fr' | 'es';

View file

@ -19,7 +19,7 @@ const SERVICES = [
{ name: 'Media', url: process.env.PUBLIC_MANA_MEDIA_URL || 'http://localhost:3011' },
{ name: 'LLM', url: process.env.PUBLIC_MANA_LLM_URL || 'http://localhost:3025' },
{ name: 'Geocoding', url: process.env.PUBLIC_MANA_GEOCODING_URL || 'http://localhost:3018' },
{ name: 'Events', url: process.env.PUBLIC_MANA_EVENTS_URL || 'http://localhost:3065' },
{ name: 'Events', url: process.env.PUBLIC_MANA_EVENTS_URL || 'http://localhost:3115' },
];
async function checkService(service: { name: string; url: string }): Promise<ServiceStatus> {

View file

@ -26,7 +26,9 @@
> - mana-mail `3042`
> - mana-sync `3050`
> - mana-credits `3061`, mana-user `3062`, mana-subscriptions `3063`,
> mana-analytics `3064`, mana-events `3065`, mana-research `3068`
> mana-analytics `3064`, mana-events `3115` (moved from 3065 on
> 2026-05-06 because the platform mana-media reserves 3065 — see
> `Code/mana/docs/PORTS.md`), mana-research `3068`
> (new 2026-04-17, Bun/Hono, public: `research.mana.how`),
> mana-mcp `3069` (new 2026-04-22, Bun/Hono, MCP gateway over
> Streamable HTTP — see `services/mana-mcp/CLAUDE.md`),

View file

@ -11,7 +11,7 @@ Public RSVP and event-sharing service. Hosts publish event snapshots from the Ma
| **Database** | PostgreSQL + Drizzle ORM |
| **Auth** | EdDSA JWT validation via JWKS from mana-auth (`jose`) — host-side only; RSVP endpoints are intentionally unauthenticated |
## Port: 3065
## Port: 3115
## Quick Start
@ -81,7 +81,7 @@ The Hono app lives in `app.ts` (exporting a `createApp(db, config)` factory) so
## Configuration
```env
PORT=3065
PORT=3115
DATABASE_URL=postgresql://...
MANA_AUTH_URL=http://localhost:3001
CORS_ORIGINS=http://localhost:5173,https://mana.how

View file

@ -30,7 +30,7 @@ export function loadConfig(): Config {
};
return {
port: parseInt(process.env.PORT || '3065', 10),
port: parseInt(process.env.PORT || '3115', 10),
databaseUrl: requiredEnv(
'DATABASE_URL',
'postgresql://mana:devpassword@localhost:5432/mana_platform'