updated cors and security because slave created one too many

This commit is contained in:
2026-01-23 21:38:37 -05:00
parent a579ceab41
commit 5ea775d465
3 changed files with 29 additions and 26 deletions

View File

@@ -1,8 +1,8 @@
services:
# --- 1. Spring API Service (Backend) ---
battlbuilder_api:
container_name: battlbuilder_api
hostname: battlbuilder_api
battlbuilder-api:
container_name: battlbuilder-api
hostname: battlbuilder-api
image: gitea.gofwd.group/forward_group/ballistic-builder-spring/spring-api:latest
ports:
- "8080:8080" # Map host port 8080 to container port 8080
@@ -11,31 +11,35 @@ services:
- SPRING_DATASOURCE_URL=jdbc:postgresql://ash.gofwd.group:5433/ss_builder
- SPRING_DATASOURCE_USERNAME=dba
- SPRING_DATASOURCE_PASSWORD=!@#Qwerty
- SPRING_PROFILES_ACTIVE=openai,prod
- SPRING_PROFILES_ACTIVE=openai
- AI_ENRICHMENT_PROVIDER=openai
networks:
- app-network
# --- 2. Next.js App Service (Frontend) ---
bb_web_app:
hostname: bb_web_app
container_name: bb_web_app
bb-web-app:
hostname: bb-web-app
container_name: bb-web-app
image: gitea.gofwd.group/sean/shadow-gunbuilder-ai-proto/webui:latest
ports:
- "3000:3000" # Map host port 3000 to container port 3000
- "3001:3000" # Map host port 3000 to container port 3000
environment:
# This variable is crucial: Next.js needs the URL for the Spring API
# Use the Docker internal service name 'spring-api' and its port 8080
- NEXT_PUBLIC_API_URL=http://ss_builder-api:8080
- NEXT_PUBLIC_API_BASE_URL=https://battl.builders
- API_INTERNAL_BASE_URL=http://battlbuilder-api:8080 # optional, for server-side-only calls
# For local testing, you might need the host IP for Next.js to call back
# - NEXT_PUBLIC_API_URL_LOCAL=http://localhost:8080
depends_on:
- battlbuilder_api
- battlbuilder-api
networks:
- app-network
- nginx_nginx
# --- Docker Network for Inter-Container Communication ---
networks:
app-network:
driver: bridge
external: false
nginx_nginx:
external: true

View File

@@ -22,20 +22,13 @@ public class CorsConfig {
// Allow Angular development server
config.setAllowedOrigins(Arrays.asList(
"http://localhost:4200",
"http://localhost:4201",
"http://localhost:8070",
"https://localhost:8070",
"http://localhost:8080",
"https://localhost:8080",
"http://localhost:3000",
"https://localhost:3000",
"https://localhost:3000/gunbuilder",
"http://localhost:3000/gunbuilder",
"https://localhost:3000/builder",
"http://localhost:3000/builder",
"https://battl.builders"
));
"http://localhost:3000", // local dev
"https://localhost:3000", // local https dev (if used)
"https://battl.builders",
"http://bb-web-app:3001",
"http://bb-web-app:3000"
)); // production frontend));
// Allow all headers
config.addAllowedHeader("*");

View File

@@ -18,6 +18,7 @@ import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.CorsConfigurationSource;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import java.util.Arrays;
import java.util.List;
@Configuration
@@ -77,7 +78,12 @@ public class SecurityConfig {
@Bean
public CorsConfigurationSource corsConfigurationSource() {
CorsConfiguration cfg = new CorsConfiguration();
cfg.setAllowedOrigins(List.of("http://localhost:3000", "https://battl.builders"));
cfg.setAllowedOrigins(Arrays.asList(
"http://localhost:3000", // local dev
"https://localhost:3000", // local https dev (if used)
"https://battl.builders",
"http://bb-web-app:3001",
"http://bb-web-app:3000")); // production frontend));
cfg.setAllowedMethods(List.of("GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"));
cfg.setAllowedHeaders(List.of("Authorization", "Content-Type"));
cfg.setExposedHeaders(List.of("Authorization"));