feat: edu-search-service migriert, voice-service/geo-service entfernt
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 28s
CI / test-go-edu-search (push) Successful in 27s
CI / test-python-klausur (push) Successful in 1m45s
CI / test-python-agent-core (push) Successful in 16s
CI / test-nodejs-website (push) Successful in 21s
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 28s
CI / test-go-edu-search (push) Successful in 27s
CI / test-python-klausur (push) Successful in 1m45s
CI / test-python-agent-core (push) Successful in 16s
CI / test-nodejs-website (push) Successful in 21s
- edu-search-service von breakpilot-pwa nach breakpilot-lehrer kopiert (ohne vendor) - opensearch + edu-search-service in docker-compose.yml hinzugefuegt - voice-service aus docker-compose.yml entfernt (jetzt in breakpilot-core) - geo-service aus docker-compose.yml entfernt (nicht mehr benoetigt) - CI/CD: edu-search-service zu Gitea Actions und Woodpecker hinzugefuegt (Go lint, test mit go mod download, build, SBOM) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -16,14 +16,10 @@ volumes:
|
||||
ocr_labeling:
|
||||
paddle_models:
|
||||
paddleocr_models:
|
||||
voice_session_data:
|
||||
geo_osm_data:
|
||||
geo_dem_data:
|
||||
geo_tile_cache:
|
||||
geo_aoi_bundles:
|
||||
transcription_models:
|
||||
transcription_temp:
|
||||
lehrer_backend_data:
|
||||
opensearch_data:
|
||||
|
||||
services:
|
||||
|
||||
@@ -275,83 +271,6 @@ services:
|
||||
networks:
|
||||
- breakpilot-network
|
||||
|
||||
geo-service:
|
||||
build:
|
||||
context: ./geo-service
|
||||
dockerfile: Dockerfile
|
||||
container_name: bp-lehrer-geo-service
|
||||
platform: linux/arm64
|
||||
ports:
|
||||
- "8088:8088"
|
||||
volumes:
|
||||
- geo_osm_data:/app/data/osm
|
||||
- geo_dem_data:/app/data/dem
|
||||
- geo_tile_cache:/app/cache/tiles
|
||||
- geo_aoi_bundles:/app/bundles
|
||||
environment:
|
||||
PORT: 8088
|
||||
ENVIRONMENT: ${ENVIRONMENT:-development}
|
||||
JWT_SECRET: ${JWT_SECRET:-your-super-secret-jwt-key-change-in-production}
|
||||
DATABASE_URL: postgresql://${POSTGRES_USER:-breakpilot}:${POSTGRES_PASSWORD:-breakpilot123}@bp-core-postgres:5432/${POSTGRES_DB:-breakpilot_db}
|
||||
MINIO_ENDPOINT: bp-core-minio:9000
|
||||
MINIO_ACCESS_KEY: ${MINIO_ROOT_USER:-breakpilot}
|
||||
MINIO_SECRET_KEY: ${MINIO_ROOT_PASSWORD:-breakpilot123}
|
||||
MINIO_BUCKET: ${MINIO_BUCKET:-breakpilot-geo}
|
||||
MINIO_SECURE: "false"
|
||||
OLLAMA_BASE_URL: ${OLLAMA_BASE_URL:-http://host.docker.internal:11434}
|
||||
OLLAMA_MODEL: ${OLLAMA_DEFAULT_MODEL:-llama3.2}
|
||||
TILE_CACHE_DIR: /app/cache/tiles
|
||||
DEM_CACHE_DIR: /app/data/dem
|
||||
MAX_AOI_SIZE_KM2: ${MAX_AOI_SIZE_KM2:-100}
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
depends_on:
|
||||
core-health-check:
|
||||
condition: service_completed_successfully
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:8088/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
start_period: 60s
|
||||
retries: 3
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- breakpilot-network
|
||||
|
||||
voice-service:
|
||||
build:
|
||||
context: ./voice-service
|
||||
dockerfile: Dockerfile
|
||||
container_name: bp-lehrer-voice-service
|
||||
platform: linux/arm64
|
||||
expose:
|
||||
- "8091"
|
||||
volumes:
|
||||
- voice_session_data:/app/data/sessions
|
||||
environment:
|
||||
PORT: 8091
|
||||
DATABASE_URL: postgresql://${POSTGRES_USER:-breakpilot}:${POSTGRES_PASSWORD:-breakpilot123}@bp-core-postgres:5432/${POSTGRES_DB:-breakpilot_db}
|
||||
VALKEY_URL: redis://bp-core-valkey:6379/0
|
||||
KLAUSUR_SERVICE_URL: http://klausur-service:8086
|
||||
OLLAMA_BASE_URL: ${OLLAMA_BASE_URL:-http://host.docker.internal:11434}
|
||||
OLLAMA_VOICE_MODEL: ${OLLAMA_VOICE_MODEL:-llama3.2}
|
||||
ENVIRONMENT: ${ENVIRONMENT:-development}
|
||||
JWT_SECRET: ${JWT_SECRET:-your-super-secret-jwt-key-change-in-production}
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
depends_on:
|
||||
core-health-check:
|
||||
condition: service_completed_successfully
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:8091/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
start_period: 60s
|
||||
retries: 3
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- breakpilot-network
|
||||
|
||||
paddleocr-service:
|
||||
build:
|
||||
context: ./paddleocr-service
|
||||
@@ -454,6 +373,80 @@ services:
|
||||
networks:
|
||||
- breakpilot-network
|
||||
|
||||
# =========================================================
|
||||
# EDU SEARCH
|
||||
# =========================================================
|
||||
opensearch:
|
||||
image: opensearchproject/opensearch:2.11.1
|
||||
container_name: bp-lehrer-opensearch
|
||||
environment:
|
||||
- cluster.name=edu-search-cluster
|
||||
- node.name=opensearch-node1
|
||||
- discovery.type=single-node
|
||||
- bootstrap.memory_lock=true
|
||||
- "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
|
||||
- OPENSEARCH_INITIAL_ADMIN_PASSWORD=${OPENSEARCH_PASSWORD:-Admin123!}
|
||||
- plugins.security.disabled=true
|
||||
ulimits:
|
||||
memlock:
|
||||
soft: -1
|
||||
hard: -1
|
||||
nofile:
|
||||
soft: 65536
|
||||
hard: 65536
|
||||
volumes:
|
||||
- opensearch_data:/usr/share/opensearch/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "curl -s http://localhost:9200 >/dev/null || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
start_period: 60s
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- breakpilot-network
|
||||
|
||||
edu-search-service:
|
||||
build:
|
||||
context: ./edu-search-service
|
||||
dockerfile: Dockerfile
|
||||
container_name: bp-lehrer-edu-search
|
||||
platform: linux/arm64
|
||||
expose:
|
||||
- "8088"
|
||||
environment:
|
||||
PORT: 8088
|
||||
OPENSEARCH_URL: http://opensearch:9200
|
||||
OPENSEARCH_USERNAME: admin
|
||||
OPENSEARCH_PASSWORD: ${OPENSEARCH_PASSWORD:-Admin123!}
|
||||
INDEX_NAME: bp_documents_v1
|
||||
EDU_SEARCH_API_KEY: ${EDU_SEARCH_API_KEY:-}
|
||||
USER_AGENT: "BreakpilotEduCrawler/1.0 (+contact: security@breakpilot.com)"
|
||||
RATE_LIMIT_PER_SEC: "0.2"
|
||||
MAX_DEPTH: "4"
|
||||
MAX_PAGES_PER_RUN: "500"
|
||||
DB_HOST: bp-core-postgres
|
||||
DB_PORT: "5432"
|
||||
DB_USER: ${POSTGRES_USER:-breakpilot}
|
||||
DB_PASSWORD: ${POSTGRES_PASSWORD:-breakpilot123}
|
||||
DB_NAME: ${POSTGRES_DB:-breakpilot_db}
|
||||
DB_SSLMODE: disable
|
||||
STAFF_CRAWLER_EMAIL: crawler@breakpilot.de
|
||||
depends_on:
|
||||
core-health-check:
|
||||
condition: service_completed_successfully
|
||||
opensearch:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8088/v1/health"]
|
||||
interval: 30s
|
||||
timeout: 3s
|
||||
start_period: 10s
|
||||
retries: 3
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- breakpilot-network
|
||||
|
||||
# =========================================================
|
||||
# DOCUMENTATION
|
||||
# =========================================================
|
||||
|
||||
Reference in New Issue
Block a user