The backend image now builds the SPA and serves it on the API's own origin (fluksio/spa.py), so an instance is a single container with no proxy, DNS, port 80 or .env: `docker compose up -d` with the new compose.yml runs it on localhost:8080. It starts on fluksio serve (persisted secret key, first admin printed once) and brings its own Redis when REDIS_HOST is unset. Slimmer: python:3.13-slim, no dev group, uv once, fastapi without the cloud CLI. Optional features are per-feature extras (mqtt, influx, email, sentry, ml, server for all) picked with the EXTRAS build argument; numpy moved to `ml`. ffmpeg left the image for imageio-ffmpeg via the Modules screen. The operator stack runs the same image with app. and api. routed to it; the nginx frontend service, the LAN nginx proxy and DOMAIN in the backend are gone, and the MCP issuer is FRONTEND_HOST. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
21 lines
779 B
YAML
21 lines
779 B
YAML
# The frontend suite's own stack. `make test-stack` layers this on
|
|
# compose.local.yml under the project `fluksio-test`, with DOMAIN=test.localhost
|
|
# and STACK_NAME=fluksio-test. It shares the dev stack's Traefik and nothing
|
|
# else: its own containers, volumes, image tags and hostnames, so the flows,
|
|
# dashboards and users the suite creates never reach the dev instance's data.
|
|
services:
|
|
|
|
# `container_name` ignores the project name, so the dev stack's names would
|
|
# collide.
|
|
redis:
|
|
container_name: !reset null
|
|
|
|
backend:
|
|
container_name: !reset null
|
|
# compose.dev.yml also brings up the broker and the time-series database
|
|
# with it, which no spec talks to.
|
|
depends_on: !override
|
|
redis:
|
|
condition: service_healthy
|
|
restart: true
|