2 changed files with 109 additions and 15 deletions
@ -0,0 +1,80 @@
@@ -0,0 +1,80 @@
|
||||
# Proxy Server Setup for Production |
||||
|
||||
## Problem |
||||
The proxy server isn't working because `VITE_PROXY_SERVER` is being set to `http://localhost:8090` during the Docker build, which won't work from the browser on a remote server. |
||||
|
||||
## Solution |
||||
|
||||
When building and deploying on the remote server, you need to build the Docker image with the correct build argument. |
||||
|
||||
### For Manual Docker Run Commands |
||||
|
||||
Rebuild the Jumble image with the correct proxy URL: |
||||
|
||||
```bash |
||||
docker build \ |
||||
--build-arg VITE_PROXY_SERVER=http://jumble.imwald.eu:8090 \ |
||||
-t silberengel/imwald-jumble:12 \ |
||||
. |
||||
|
||||
# Then push to Docker Hub |
||||
docker push silberengel/imwald-jumble:12 |
||||
``` |
||||
|
||||
**Note on Docker Network:** |
||||
|
||||
You only need to create the network once (it persists). Check if it exists first: |
||||
|
||||
```bash |
||||
# Check if network exists |
||||
docker network ls | grep jumble-network |
||||
|
||||
# If it doesn't exist, create it (only needed once) |
||||
docker network create jumble-network |
||||
``` |
||||
|
||||
### For Docker Compose |
||||
|
||||
### 1. Set Environment Variables Before Building |
||||
|
||||
```bash |
||||
export JUMBLE_PROXY_SERVER_URL="http://jumble.imwald.eu:8090" |
||||
export JUMBLE_SOCIAL_URL="http://jumble.imwald.eu:32768" |
||||
``` |
||||
|
||||
### 2. Rebuild the Docker Image |
||||
|
||||
```bash |
||||
docker-compose build --no-cache |
||||
``` |
||||
|
||||
### 3. Restart the Containers |
||||
|
||||
```bash |
||||
docker-compose down |
||||
docker-compose up -d |
||||
``` |
||||
|
||||
## How to Check if it's Working |
||||
|
||||
1. After deploying, open the browser console on `https://jumble.imwald.eu` |
||||
2. Navigate to a page with a URL that should show OpenGraph data |
||||
3. Look for `[WebService]` log messages that will show: |
||||
- Whether the proxy server is configured |
||||
- What URL is being used to fetch metadata |
||||
- Any errors (CORS, network, etc.) |
||||
|
||||
## Important Notes |
||||
|
||||
- The `VITE_PROXY_SERVER` value is baked into the JavaScript bundle during build time |
||||
- You MUST rebuild the Docker image if you change `JUMBLE_PROXY_SERVER_URL` |
||||
- The proxy server's `ALLOW_ORIGIN` must match the frontend URL (`JUMBLE_SOCIAL_URL`) |
||||
- Both must use the same protocol (http vs https) |
||||
|
||||
## Troubleshooting |
||||
|
||||
If you see errors in the console: |
||||
- `[WebService] No proxy server configured` - `VITE_PROXY_SERVER` is undefined or empty |
||||
- `[WebService] CORS/Network error` - The proxy URL might be wrong, or CORS isn't configured |
||||
- `[WebService] Failed to fetch metadata` - The proxy server might not be running or accessible |
||||
|
||||
Loading…
Reference in new issue