The deployed bundle had no API base URL baked in at all, so the app fell back to relative /api/* requests, which the frontend's nginx forwards to a backend:8000 service that does not exist in this deployment. Same cause as the backend: Dokploy writes its own .env into the build context from the service's Environment tab after cloning, and that tab is empty, so the committed file was replaced by a zero-byte one. The checkout showed .env at 0 bytes, and grepping the running container's bundle for the API host returned nothing. Vite loads .env.production for production builds and it takes precedence over .env, so the config now travels under that name and survives. No Dockerfile change is needed - Vite resolves it natively - and the --build-arg stays unnecessary. Verified by writing an empty .env over the checkout, exactly as Dokploy does, and building: https://mcp.nearle.ai.in is still inlined into the bundle. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
21 lines
1.0 KiB
Plaintext
21 lines
1.0 KiB
Plaintext
# Committed on purpose - see .gitignore.
|
|
#
|
|
# Named .env.production, not .env: Dokploy overwrites .env in the build context
|
|
# from the service's Environment tab (empty when that tab is blank). Vite loads
|
|
# .env.production for production builds and it wins over .env, so this survives.
|
|
#
|
|
# Nothing here is a secret. VITE_API_BASE_URL is inlined into the public JS
|
|
# bundle at build time, so it is readable by anyone who opens the site; keeping
|
|
# it out of git protected nothing and only meant the value had to be remembered
|
|
# and re-passed as a --build-arg on every deploy.
|
|
#
|
|
# Because Vite reads this file during `npm run build`, the Docker build picks it
|
|
# up automatically and the --build-arg is no longer required.
|
|
#
|
|
# Do NOT add anything secret to this file. Every VITE_-prefixed variable ends up
|
|
# in the shipped bundle - that is how Vite works, not a misconfiguration.
|
|
|
|
# The API's own domain. Must match the backend's API_CORS_ORIGINS pairing:
|
|
# this app is served from catalogue.nearle.ai.in and calls the API here.
|
|
VITE_API_BASE_URL=https://mcp.nearle.ai.in
|