Your box: SparkBox now takes any Docker app you paste in, and keeps it across updates
Posted by Chris
Since v1.6.749 (this weekend) a SparkBox is yours to shape, not just ours to ship. Three things landed: Add your own app. Paste a normal docker-compose.yml with a small header into Settings → Your box (or drop it in custom/<id/ on the box). SparkBox checks it for the mistakes that break boxes (port clashes, container names, dangerous mounts), runs it beside the shipped apps, shows it in the App Store with a "custom" badge, and keeps it through every update and upgrade. sparkbox custom list|add|check|remove on the shell does the same. Change how a shipped app runs. A per-app override file (Settings → Your box, or state/overrides/<app.yml) is layered on top of our compose for that app: extra env, an extra volume, a different port. Also kept across updates. When something breaks, the doctor and Tom AI now say whether an override is the reason. Fix it yourself, with proof. sparkbox doctor --fix applies the repairs the doctor already knows for its findings, sparkbox diag writes a redacted bundle you can read or attach to a ticket, and pre-up / post-up / post-update hooks run your own scripts at those moments. How it works, with a worked example: https://tomsparkbox.com/docsyour-box The boundary, said plainly: we support the shipped apps and the mechanism. What runs inside your custom app is yours, but Tom AI can see it, and the community here has probably run it. If you have a recipe others would want, post it: we check recipes on the bench and list the good ones.