frontend api url
ci / docker (backend, backend/Dockerfile, backend) (push) Successful in 15s
ci / docker (frontend, frontend/Dockerfile, frontend) (push) Successful in 32s

This commit is contained in:
2025-10-12 13:40:27 +02:00
parent 9147442822
commit 351d635f39
5 changed files with 29 additions and 4 deletions
+6
View File
@@ -15,5 +15,11 @@ WORKDIR /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=build /app/dist ./
ENV API_BASE_URL=""
COPY docker-entrypoint.sh /docker-entrypoint.sh
RUN chmod +x /docker-entrypoint.sh
EXPOSE 80
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["nginx", "-g", "daemon off;"]
+11
View File
@@ -0,0 +1,11 @@
#!/bin/sh
set -euo pipefail
API_BASE_URL_TRIMMED="${API_BASE_URL:-}"
API_BASE_URL_TRIMMED="${API_BASE_URL_TRIMMED%%/}"
cat <<CONFIG > /usr/share/nginx/html/config.js
window.__PAPERCRATE_API_BASE_URL = "${API_BASE_URL_TRIMMED}";
CONFIG
exec "$@"
+1
View File
@@ -6,6 +6,7 @@
<title>Papercrate</title>
</head>
<body>
<script src="/config.js"></script>
<main id="app"></main>
</body>
</html>
+6 -1
View File
@@ -22,7 +22,12 @@ import {
} from 'react-router-dom';
import './styles.css';
const API_ROOT = (process.env.API_BASE_URL || '').replace(/\/$/, '');
const runtimeApiBase =
typeof window !== 'undefined' && window.__PAPERCRATE_API_BASE_URL
? window.__PAPERCRATE_API_BASE_URL
: '';
const API_ROOT = (runtimeApiBase || process.env.API_BASE_URL || '').replace(/\/$/, '');
const api = axios.create({
baseURL: API_ROOT ? `${API_ROOT}/api` : '/api',
+5 -3
View File
@@ -5,8 +5,10 @@ const dotenv = require('dotenv');
const env = dotenv.config({ path: path.resolve(__dirname, '.env.local') }).parsed || {};
const API_BASE_URL =
env.API_BASE_URL || process.env.API_BASE_URL || 'http://127.0.0.1:3000';
const DEFAULT_DEV_API = 'http://127.0.0.1:3000';
const API_BASE_URL = env.API_BASE_URL || process.env.API_BASE_URL || '';
const devServerApiTarget = API_BASE_URL || DEFAULT_DEV_API;
module.exports = {
entry: './src/index.jsx',
@@ -50,7 +52,7 @@ module.exports = {
proxy: [
{
context: ['/api'],
target: API_BASE_URL,
target: devServerApiTarget,
changeOrigin: true,
},
],