Stop baking VITE_API_URL into the Vite build so one image can run against any backend. Container entrypoint (docker-entrypoint.d/30-frontend-config.sh, auto-run by the nginx image) writes /usr/share/nginx/html/config.js from the VITE_API_URL container env at every start; index.html loads it before the bundle, and agent.ts prefers window.__APP_CONFIG__ with the build-time env as fallback so local dev and vite preview behave exactly as before. public/config.js ships an empty placeholder for non-container builds. Changing backends is now a restart with new env, no rebuild.
51 lines
2.1 KiB
HTML
51 lines
2.1 KiB
HTML
<!DOCTYPE html>
|
|
<!--suppress ALL -->
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<link rel="icon" href="/favicon.ico" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<meta name="theme-color" content="#000000" />
|
|
<meta
|
|
name="description"
|
|
content="Web site created using create-react-app"
|
|
/>
|
|
<link rel="apple-touch-icon" href="/logo192.png" />
|
|
<!--
|
|
manifest.json provides metadata used when your web app is installed on a
|
|
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
|
|
-->
|
|
<link rel="manifest" href="/manifest.json" />
|
|
<!--
|
|
Notice the use of in the tags above.
|
|
It will be replaced with the URL of the `public` folder during the build.
|
|
Only files inside the `public` folder can be referenced from the HTML.
|
|
|
|
Unlike "/favicon.ico" or "favicon.ico", /favicon.ico" will
|
|
work correctly both with client-side routing and a non-root public URL.
|
|
Learn how to configure a non-root public URL by running `npm run build`.
|
|
-->
|
|
<title>Games Database</title>
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" />
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" />
|
|
</head>
|
|
<body>
|
|
<noscript>You need to enable JavaScript to run this app.</noscript>
|
|
<div id="root"></div>
|
|
<!-- Runtime config (backend URL) injected at container start.
|
|
See docker-entrypoint.d/30-frontend-config.sh and public/config.js. -->
|
|
<script src="/config.js"></script>
|
|
<script type="module" src="/src/index.tsx"></script>
|
|
<!--
|
|
This HTML file is a template.
|
|
If you open it directly in the browser, you will see an empty page.
|
|
|
|
You can add webfonts, meta tags, or analytics to this file.
|
|
The build step will place the bundled scripts into the <body> tag.
|
|
|
|
To begin the development, run `npm start` or `yarn start`.
|
|
To create a production bundle, use `npm run build` or `yarn build`.
|
|
-->
|
|
</body>
|
|
</html>
|