.NET 10 solution for Ping, a Discord style chat app: Domain, Application and Infrastructure projects plus the Api host. SignalR for chat and presence, LiveKit for call tokens, EF Core on Postgres, S3 compatible storage for attachments, and OIDC auth shared with the Musify Zitadel instance. Includes the Compose stack for local development.
1.1 KiB
1.1 KiB
Ping — deploy
Reuses the Zitadel and SeaweedFS containers already running for Musify instead of starting new ones. Musify's stack must be up first.
cp deploy/.env.example deploy/.env
# edit deploy/.env:
# - ZITADEL_ADMIN_PAT_DIR must point at Musify's deploy/zitadel/.output folder
# - S3_ACCESS_KEY / S3_SECRET_KEY must match the REAL values in Musify's own deploy/.env
docker compose -f deploy/compose.yml -f deploy/compose.dev.yml up -d
This starts Postgres, LiveKit, and the one-shot jobs (EF Core migrations, the Zitadel
project/apps for Ping, the ping-storage S3 bucket) — the usual dev loop runs the API and
frontend from the IDE against these.
To also build and run the API/frontend in Docker instead:
docker compose -f deploy/compose.yml -f deploy/compose.dev.yml --profile apps up -d --build
By then zitadel-init has already written AUTH_CLIENT_ID / WEB_CLIENT_ID into deploy/.env.
Ports (dev): API 5211, web 3100, Postgres 59010, LiveKit 7880 (signaling) / 7881 (RTC
TCP) / 50000-50100/udp (media). Zitadel (8080) and the SeaweedFS S3 API (8333) come from
Musify's own stack.