diff --git a/.env.production b/.env.production
index fc166f1c..b77c052a 100644
--- a/.env.production
+++ b/.env.production
@@ -1,16 +1,16 @@
# Production Environment Configuration
# Frontend URL (production server)
-VITE_FRONTEND_BASE_URL=https://ai-sandbox.oliver.solutions/semblance
+VITE_FRONTEND_BASE_URL=https://optical-dev.oliver.solution/semblance
# Backend API URL (production server)
-VITE_API_BASE_URL=https://ai-sandbox.oliver.solutions/semblance_back/api
+VITE_API_BASE_URL=https://optical-dev.oliver.solution/semblance_back/api
# WebSocket path (production server)
VITE_WEBSOCKET_PATH=/semblance_back/socket.io/
# MSAL Authentication (production server)
-VITE_MSAL_REDIRECT_URI=https://ai-sandbox.oliver.solutions/semblance
-VITE_MSAL_POST_LOGOUT_REDIRECT_URI=https://ai-sandbox.oliver.solutions/semblance
+VITE_MSAL_REDIRECT_URI=https://optical-dev.oliver.solution/semblance
+VITE_MSAL_POST_LOGOUT_REDIRECT_URI=https://optical-dev.oliver.solution/semblance
# Local login (username/password) - disable for production
VITE_ENABLE_LOCAL_LOGIN=false
\ No newline at end of file
diff --git a/CLAUDE.md b/CLAUDE.md
index adf92ccc..494e6662 100755
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -110,9 +110,9 @@ The application automatically adapts based on environment variables:
**Production Mode:**
- Base path: `/semblance/`
-- API base: `https://ai-sandbox.oliver.solutions/semblance_back/api`
+- API base: `https://optical-dev.oliver.solution/semblance_back/api`
- WebSocket path: `/semblance_back/socket.io/`
-- MSAL redirect: `https://ai-sandbox.oliver.solutions/semblance`
+- MSAL redirect: `https://optical-dev.oliver.solution/semblance`
### Setup Instructions
1. **For local development**: Copy `.env.development` to `.env`
diff --git a/README.md b/README.md
index 6fb23758..fc6a352a 100755
--- a/README.md
+++ b/README.md
@@ -186,9 +186,9 @@ The `llm_service.py` module provides a unified interface across multiple AI prov
| Setting | Development | Production |
|---|---|---|
| **Base Path** | `/` | `/semblance/` |
-| **API Base URL** | `/api` (proxied to `:5137`) | `https://ai-sandbox.oliver.solutions/semblance_back/api` |
+| **API Base URL** | `/api` (proxied to `:5137`) | `https://optical-dev.oliver.solution/semblance_back/api` |
| **WebSocket Path** | `/socket.io/` | `/semblance_back/socket.io/` |
-| **MSAL Redirect** | `http://localhost:5173/` | `https://ai-sandbox.oliver.solutions/semblance` |
+| **MSAL Redirect** | `http://localhost:5173/` | `https://optical-dev.oliver.solution/semblance` |
| **Local Login** | Enabled | Disabled |
Environment files:
diff --git a/backend/app/__init__.py b/backend/app/__init__.py
index 6d1b34fd..e9a11f13 100755
--- a/backend/app/__init__.py
+++ b/backend/app/__init__.py
@@ -94,7 +94,7 @@ def create_app():
# Initialize extensions — restrict CORS to known origins
_allowed_origins = os.environ.get(
'CORS_ALLOWED_ORIGINS',
- 'https://ai-sandbox.oliver.solutions'
+ 'https://optical-dev.oliver.solution'
)
_origins = [o.strip() for o in _allowed_origins.split(',')]
app = cors(app, allow_origin=_origins, allow_methods=["GET", "POST", "PUT", "DELETE", "OPTIONS"])
diff --git a/backend/scripts/generate_architecture_doc.py b/backend/scripts/generate_architecture_doc.py
index d2712e62..a02fec16 100644
--- a/backend/scripts/generate_architecture_doc.py
+++ b/backend/scripts/generate_architecture_doc.py
@@ -624,7 +624,7 @@ DIAGRAMS = {
"deployment_architecture": """graph TB
User["User Browser"]
- subgraph Production["Production Server (ai-sandbox.oliver.solutions)"]
+ subgraph Production["Production Server (optical-dev.oliver.solution)"]
Nginx["Nginx
Reverse Proxy"]
subgraph Static["Static Assets"]
@@ -1232,7 +1232,7 @@ def build_chapter_2(rendered):
e.append(h2("Deployment Topology", "ch2_deploy"))
e.append(p(
- "In production, the application is deployed at ai-sandbox.oliver.solutions behind an "
+ "In production, the application is deployed at optical-dev.oliver.solution behind an "
"Nginx reverse proxy that routes requests to either the static frontend assets or the backend "
"application server."
))
@@ -1248,11 +1248,11 @@ def build_chapter_2(rendered):
["Setting", "Development", "Production"],
[
["Base Path", "/", "/semblance/"],
- ["API Base URL", "/api", "https://ai-sandbox.oliver.solutions/semblance_back/api"],
+ ["API Base URL", "/api", "https://optical-dev.oliver.solution/semblance_back/api"],
["WebSocket Path", "/socket.io/", "/semblance_back/socket.io/"],
["Frontend Port", "5173 (Vite dev server)", "Static assets via Nginx"],
["Backend Port", "5137 (Hypercorn)", "5137 (proxied via Nginx)"],
- ["MSAL Redirect", "http://localhost:5173/", "https://ai-sandbox.oliver.solutions/semblance"],
+ ["MSAL Redirect", "http://localhost:5173/", "https://optical-dev.oliver.solution/semblance"],
],
col_widths=[110, (CONTENT_WIDTH - 118) / 2, (CONTENT_WIDTH - 118) / 2],
))
diff --git a/src/services/websocketService.ts b/src/services/websocketService.ts
index e2b4cc0a..06c85b38 100755
--- a/src/services/websocketService.ts
+++ b/src/services/websocketService.ts
@@ -175,7 +175,7 @@ export function getWebSocketUrl(): string {
const urlParams = new URLSearchParams(window.location.search);
if (urlParams.get('direct') === '1') {
console.log('🔧 USING DIRECT WEBSOCKET CONNECTION (bypassing Apache)');
- return 'https://ai-sandbox.oliver.solutions:5137';
+ return 'https://optical-dev.oliver.solution:5137';
}
// For production with Apache proxy, use the current origin