From 0d9e37f33cf50730fa68728acda6ff8c6ad54be7 Mon Sep 17 00:00:00 2001 From: giles Date: Sun, 29 Mar 2026 22:39:50 +0000 Subject: [PATCH] Simplify dev-sx.yml: native OCaml only, remove Quart/Python Co-Authored-By: Claude Opus 4.6 (1M context) --- docker-compose.dev-sx.yml | 60 ++++++--------------------------------- 1 file changed, 8 insertions(+), 52 deletions(-) diff --git a/docker-compose.dev-sx.yml b/docker-compose.dev-sx.yml index d490c2e5..6377897a 100644 --- a/docker-compose.dev-sx.yml +++ b/docker-compose.dev-sx.yml @@ -1,74 +1,30 @@ -# Standalone dev mode for sx_docs only -# Replaces ~/sx-web production stack with bind-mounted source + auto-reload +# Native OCaml SX server — no Python, no Quart # Accessible at sx.rose-ash.com via Caddy on externalnet services: sx_docs: image: registry.rose-ash.com:5000/sx_docs:latest - environment: - SX_STANDALONE: "true" - SECRET_KEY: "${SECRET_KEY:-sx-dev-secret}" - REDIS_URL: redis://redis:6379/0 - WORKERS: "1" - ENVIRONMENT: development - RELOAD: "true" - SX_USE_REF: "1" - SX_USE_OCAML: "1" - SX_USE_WASM: "1" - SX_OCAML_BIN: "/app/bin/sx_server" - SX_BOUNDARY_STRICT: "1" - SX_DEV: "1" - OCAMLRUNPARAM: "b" entrypoint: ["/app/bin/sx_server", "--http", "8000"] working_dir: /app + environment: + SX_PROJECT_DIR: /app + OCAMLRUNPARAM: "b" ports: - "8013:8000" volumes: - - /root/rose-ash/_config/dev-sh-config.yaml:/app/config/app-config.yaml:ro - - ./shared:/app/shared - - ./sx/app.py:/app/app.py - - ./sx/sxc:/app/sxc - - ./sx/bp:/app/bp - - ./sx/services:/app/services - - ./sx/content:/app/content - - ./sx/sx:/app/sx - - ./sx/path_setup.py:/app/path_setup.py - - ./sx/entrypoint.sh:/usr/local/bin/entrypoint.sh - # Spec + lib + web SX files (loaded by OCaml kernel) + # SX source files (hot-reload on restart) - ./spec:/app/spec:ro - ./lib:/app/lib:ro - ./web:/app/web:ro - # OCaml SX kernel binary (built with: cd hosts/ocaml && eval $(opam env) && dune build) + - ./sx/sx:/app/sx:ro + - ./shared:/app/shared:ro + # OCaml binary (rebuild with: cd hosts/ocaml && eval $(opam env) && dune build) - ./hosts/ocaml/_build/default/bin/sx_server.exe:/app/bin/sx_server:ro - - ./sx/__init__.py:/app/__init__.py:ro - # sibling models for cross-domain SQLAlchemy imports - - ./blog/__init__.py:/app/blog/__init__.py:ro - - ./blog/models:/app/blog/models:ro - - ./market/__init__.py:/app/market/__init__.py:ro - - ./market/models:/app/market/models:ro - - ./cart/__init__.py:/app/cart/__init__.py:ro - - ./cart/models:/app/cart/models:ro - - ./events/__init__.py:/app/events/__init__.py:ro - - ./events/models:/app/events/models:ro - - ./federation/__init__.py:/app/federation/__init__.py:ro - - ./federation/models:/app/federation/models:ro - - ./account/__init__.py:/app/account/__init__.py:ro - - ./account/models:/app/account/models:ro - - ./relations/__init__.py:/app/relations/__init__.py:ro - - ./relations/models:/app/relations/models:ro - - ./likes/__init__.py:/app/likes/__init__.py:ro - - ./likes/models:/app/likes/models:ro - - ./orders/__init__.py:/app/orders/__init__.py:ro - - ./orders/models:/app/orders/models:ro networks: - externalnet - default restart: unless-stopped - redis: - image: redis:7-alpine - restart: unless-stopped - networks: externalnet: external: true