first prototype

This commit is contained in:
2026-09-27 09:52:00 +02:00
parent 4635199a41
commit 6d011d474f
109 changed files with 6354 additions and 507 deletions
+51
View File
@@ -0,0 +1,51 @@
name: wizard
services:
wizard_website:
build: ./wizard_website
restart: unless-stopped
networks:
- wizard_website
wizard_server:
build: ./wizard_server
restart: unless-stopped
environment:
AI_SHARED_SECRET: ${AI_SHARED_SECRET:?set AI_SHARED_SECRET in .env}
ALLOWED_ORIGINS: ${ALLOWED_ORIGINS:-}
LOG_LEVEL: ${LOG_LEVEL:-INFO}
networks:
- wizard_api
- wizard_internal
wizard_ai:
build:
context: ./wizard_ai
# The AI uses the game logic package of the server (requires docker compose >= 2.17).
additional_contexts:
game_logic: ./wizard_server/game_logic
restart: unless-stopped
environment:
SERVER_URL: ws://wizard_server:8083/internal/ai
AI_SHARED_SECRET: ${AI_SHARED_SECRET:?set AI_SHARED_SECRET in .env}
AGENT: ${AI_AGENT:-model}
MODEL_PATH: /srv/models/latest
LOG_LEVEL: ${LOG_LEVEL:-INFO}
volumes:
# Trained checkpoints; replace without rebuilding the image.
- ./wizard_ai/models:/srv/models:ro
depends_on:
- wizard_server
networks:
- wizard_internal
networks:
# Shared with the existing Caddy reverse proxy.
wizard_website:
external: true
wizard_api:
external: true
# Only the game server and the AI player; no route to the outside.
wizard_internal:
name: wizard_internal
internal: true