Repository navigation
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
51 lines (51 loc) · 2.43 KB
/
Copy pathdocker-compose.yml
File metadata and controls
51 lines (51 loc) · 2.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
services:
stltosolid:
image: stltosolid:latest
build:
context: .
args:
# deploy.sh fills these in from git; a plain `docker compose build`
# leaves them 'unknown'
GIT_SHA: ${GIT_SHA:-unknown}
BUILD_TIME: ${BUILD_TIME:-unknown}
ports:
- "8321:8000"
volumes:
- ./data:/data
environment:
# jobs older than this many seconds are deleted automatically
STLTOSOLID_JOB_TTL: "86400"
# conversions run one at a time; scan repair can peak at several GB
STLTOSOLID_CONCURRENCY: "1"
# Shells (bodies and their cavities) converted at once inside a job.
# Two of the NAS's four cores, the rest for the kernel's threads and
# the NAS's other services. Raise it on a bigger machine by setting
# STLTOSOLID_WORKERS in the environment: measured 2026-09-04 on the
# 72-shell controller, the body split costs ~2.8 GB once and each
# extra worker only ~0.5 GB, so four workers converted 13 bodies in
# 8.7 min at a 4.2 GB peak (12 GB limit). Four on the NAS would still
# be a poor trade: it has four cores and shares them.
STLTOSOLID_WORKERS: "${STLTOSOLID_WORKERS:-2}"
# seconds a shell may take in a worker before it is built faceted
# instead (default 900)
# STLTOSOLID_SHELL_TIMEOUT: "900"
# seconds one shell's extrusion-axis search may take before the best
# candidate so far is used (default 120; 0 means no limit)
# STLTOSOLID_AXIS_BUDGET: "120"
# seconds an X-Ray script download may spend fitting its slices
# before it gives up (default 240; under a browser's 300 s limit)
# STLTOSOLID_XRAY_BUDGET: "240"
# Blueprint (drawing -> solid). Users paste their own vision-model key
# in the panel (kept in their browser, sent per request, never stored
# here). A server-side key is an opt-in fallback for a private
# install: on a shared LAN anyone who can reach the app could spend it.
# STLTOSOLID_ANTHROPIC_API_KEY: "sk-ant-…"
# STLTOSOLID_OPENAI_API_KEY: "sk-…"
# STLTOSOLID_DEEPSEEK_API_KEY: "…"
# seconds one read of a drawing may take (default 300; DeepSeek 1200)
# STLTOSOLID_BLUEPRINT_TIMEOUT: "300"
# largest drawing image accepted, bytes (default 20 MB)
# STLTOSOLID_MAX_IMAGE: "20971520"
# keep a runaway conversion from starving the NAS's other services
mem_limit: 12g
restart: unless-stopped