diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml
new file mode 100644
index 0000000..1e7a441
--- /dev/null
+++ b/.gitea/workflows/ci.yaml
@@ -0,0 +1,22 @@
+name: spring-api-ci
+
+on:
+ push:
+ branches: ["**"]
+ pull_request:
+
+jobs:
+ build-test:
+ runs-on: ubuntu
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Setup Java 21
+ uses: actions/setup-java@v4
+ with:
+ distribution: temurin
+ java-version: "21"
+ cache: maven
+
+ - name: Build & test
+ run: mvn -B -ntp clean verify
diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml
index 9b1fd28..7c2f75c 100644
--- a/.idea/dataSources.xml
+++ b/.idea/dataSources.xml
@@ -55,5 +55,17 @@
$ProjectFileDir$
+
+ postgresql
+ true
+ org.postgresql.Driver
+ jdbc:postgresql://ash.gofwd.group:5433/postgres
+
+
+
+
+
+ $ProjectFileDir$
+
\ No newline at end of file
diff --git a/docker/backend/Dockerfile b/docker/backend/Dockerfile
index 38beb6c..42ebf9b 100644
--- a/docker/backend/Dockerfile
+++ b/docker/backend/Dockerfile
@@ -1,6 +1,6 @@
# Stage 1: Build the application (The Build Stage)
# Use a Java SDK image with Maven pre-installed
-FROM maven:3.9-jdk-17-slim AS build
+FROM maven:3.9.6-eclipse-temurin-21 AS build
# Set the working directory inside the container
WORKDIR /app
@@ -17,8 +17,9 @@ RUN mvn clean package -DskipTests
# Stage 2: Create the final lightweight image (The Runtime Stage)
# Use a smaller Java Runtime Environment (JRE) image for a smaller footprint
-FROM openjdk:17-jre-slim
+FROM eclipse-temurin:21-jre
+ENV SPRING_PROFILES_ACTIVE=prod
# Set the working directory in the final image
WORKDIR /app
diff --git a/docker/compose.yaml b/docker/compose.yaml
deleted file mode 100644
index 88efb6d..0000000
--- a/docker/compose.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-services:
- postgres:
- image: 'postgres:latest'
- environment:
- - 'POSTGRES_DB=mydatabase'
- - 'POSTGRES_PASSWORD=secret'
- - 'POSTGRES_USER=myuser'
- ports:
- - '5432'
diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml
index be4fa49..073fbb1 100644
--- a/docker/docker-compose.yaml
+++ b/docker/docker-compose.yaml
@@ -1,28 +1,26 @@
-version: '3.8'
-
services:
# --- 1. Spring API Service (Backend) ---
- ss_builder-api:
- build:
- context: ./backend # Path to your Spring project's root folder
- dockerfile: Dockerfile # Assumes you have a Dockerfile in ./backend
- container_name: ss_builder-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
environment:
# These environment variables link the API to the database service defined below
- - SPRING_DATASOURCE_URL=jdbc:postgresql://r710.dev.gofwd.group:5433/ss_builder
+ - SPRING_DATASOURCE_URL=jdbc:postgresql://ash.gofwd.group:5433/ss_builder
- SPRING_DATASOURCE_USERNAME=dba
- SPRING_DATASOURCE_PASSWORD=!@#Qwerty
+ - SPRING_PROFILES_ACTIVE=prod
+ - AI_ENRICHMENT_PROVIDER=off
networks:
- app-network
# --- 2. Next.js App Service (Frontend) ---
- nextjs-app:
- build:
- context: ./frontend # Path to your Next.js project's root folder
- dockerfile: Dockerfile # Assumes you have a Dockerfile in ./frontend
- container_name: ss_builder-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
environment:
@@ -32,7 +30,7 @@ services:
# 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:
- - ss_builder-api
+ - battlbuilder_api
networks:
- app-network
diff --git a/push-image.sh b/push-image.sh
new file mode 100755
index 0000000..b2439fc
--- /dev/null
+++ b/push-image.sh
@@ -0,0 +1,24 @@
+#!/usr/bin/env bash
+set -e
+
+REGISTRY="gitea.gofwd.group"
+OWNER="forward_group/ballistic-builder-spring"
+IMAGE="spring-api"
+
+TAG=$(git rev-parse --short HEAD)
+
+FULL_IMAGE="$REGISTRY/$OWNER/$IMAGE"
+
+echo "Building $FULL_IMAGE:$TAG"
+docker build -f docker/backend/Dockerfile -t $FULL_IMAGE:$TAG .
+
+echo "Tagging latest"
+docker tag $FULL_IMAGE:$TAG $FULL_IMAGE:latest
+
+echo "Pushing $TAG"
+docker push $FULL_IMAGE:$TAG
+
+echo "Pushing latest"
+docker push $FULL_IMAGE:latest
+
+echo "Done!"
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index a22737b..2c1e8cb 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -1,8 +1,8 @@
spring.application.name=BattlBuilderAPI
# Database connection properties
-spring.datasource.url=jdbc:postgresql://r710.gofwd.group:5433/ss_builder
-spring.datasource.username=postgres
-spring.datasource.password=cul8rman
+spring.datasource.url=jdbc:postgresql://ash.gofwd.group:5433/ss_builder
+spring.datasource.username=dba
+spring.datasource.password=!@#Qwerty
spring.datasource.driver-class-name=org.postgresql.Driver
@@ -77,8 +77,8 @@ app.beta.invite.tokenMinutes=30
# Ai Enrichment Settings
ai.minConfidence=0.75
-ai.openai.apiKey=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
+ai.openai.apiKey=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
ai.openai.model=gpt-4.1-mini
-
+ai.enrichment.provider=off
spring.jackson.serialization.fail-on-empty-beans=false
\ No newline at end of file