Fix seeder: origin mismatch + robust Dockerfile
Two root causes for seeding not working on production: 1. Origin mismatch: The seeder writes content IDs as http://localhost:7777/content/... but the app was using window.location.origin (the user's actual browser URL) to query the relay. Introduced VITE_CONTENT_ORIGIN env var baked into the Docker build so both sides use the same origin. 2. Dockerfile.seed fragility: Replaced --omit=dev + global tsx with a cleaner approach that strips sharp from package.json (the only native dep that fails on Alpine) then does a full npm install, ensuring tsx/esbuild and all applesauce deps resolve correctly. Also improved wait-for-relay to accept any HTTP response (some relays return 4xx for plain GET) and increased max attempts. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -20,6 +20,10 @@ ENV VITE_NOSTR_RELAYS=""
|
||||
# so auth and content use built-in mock/local data instead of timing out
|
||||
ENV VITE_USE_MOCK_DATA=true
|
||||
|
||||
# Content origin must match the seeder's ORIGIN so that relay queries find
|
||||
# the seeded data, regardless of how users access the app in their browser
|
||||
ENV VITE_CONTENT_ORIGIN=http://localhost:7777
|
||||
|
||||
# Build the application
|
||||
RUN npm run build
|
||||
|
||||
|
||||
Reference in New Issue
Block a user