Files
bambuddy/slicer-api/docker-compose.yml
T
maziggy 2a520a1ec7 chore(slicer-api): bump BAMBU_VERSION default to 02.07.01.57
Tracks the orca-slicer-api Dockerfile change that switched the sidecar
  from the (no-longer-published) Fedora AppImage to the Ubuntu 22.04
  AppImage. The default in .env.example and slicer-api/docker-compose.yml
  now matches the new build path; users running the sidecar should
  `docker compose --profile bambu build --no-cache bambu-studio-api &&
  docker compose --profile bambu up -d` after pulling this change.
2026-06-02 16:01:25 +02:00

72 lines
2.3 KiB
YAML

# Optional slicer-API sidecar stack for Bambuddy.
#
# Both services are HTTP wrappers around a slicer CLI: the same Node code
# (`maziggy/orca-slicer-api`, `bambuddy/profile-resolver` branch) bundled
# with a different binary in each image. Bambuddy talks to them via the
# URLs configured in Settings -> Slicer.
#
# bambu-studio-api → host port 3001 (BambuStudio CLI)
# orca-slicer-api → host port 3003 (OrcaSlicer CLI)
#
# Bambuddy's virtual-printer feature reserves host ports 3000 and 3002,
# which is why the OrcaSlicer sidecar sits on 3003. Override either port
# in `.env` (see `.env.example`) if you don't run Bambuddy on this host.
#
# Usage:
# cd slicer-api/
# docker compose up -d # starts OrcaSlicer only
# docker compose --profile bambu up -d # starts both
#
# First build pulls the source from the fork over git (~5 min — downloads
# the BambuStudio AppImage, ~220 MB) and caches the image locally.
# Subsequent runs reuse the cache. Pin the slicer versions via .env.
services:
orca-slicer-api:
build:
context: https://github.com/maziggy/orca-slicer-api.git#bambuddy/profile-resolver
dockerfile: Dockerfile
args:
ORCA_VERSION: "${ORCA_VERSION:-2.3.2}"
image: bambuddy-orca-slicer-api:orca${ORCA_VERSION:-2.3.2}
container_name: orca-slicer-api
restart: unless-stopped
ports:
- "${ORCA_API_PORT:-3003}:3000"
volumes:
- ./data/orca:/app/data
environment:
NODE_ENV: production
PORT: "3000"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
interval: 30s
timeout: 5s
start_period: 10s
retries: 3
bambu-studio-api:
build:
context: https://github.com/maziggy/orca-slicer-api.git#bambuddy/profile-resolver
dockerfile: Dockerfile.bambu-studio
args:
BAMBU_VERSION: "${BAMBU_VERSION:-02.07.01.57}"
image: bambuddy-bambu-studio-api:bambu${BAMBU_VERSION:-02.07.01.57}
container_name: bambu-studio-api
restart: unless-stopped
ports:
- "${BAMBU_API_PORT:-3001}:3000"
volumes:
- ./data/bambu:/app/data
environment:
NODE_ENV: production
PORT: "3000"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
interval: 30s
timeout: 5s
start_period: 10s
retries: 3
profiles:
- bambu