feat: externalize buttplug as separate nginx container

- Add Dockerfile.buttplug: builds Rust/WASM + TS, serves via nginx
- Add nginx.buttplug.conf: serves /dist and /wasm with correct MIME types
- Add .gitea/workflows/docker-build-buttplug.yml: path-filtered CI workflow
- Strip Rust toolchain and buttplug build from frontend Dockerfile
- Move buttplug to devDependencies (types only at build time)
- Remove vite-plugin-wasm from frontend (WASM now served by nginx)
- Add /buttplug proxy in vite.config (dev: localhost:8080)
- Add buttplug service to compose.yml
- Load buttplug dynamically in play page via runtime import
- Fix faq page: suppress no-unnecessary-state-wrap for reassigned SvelteSet

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-08 13:49:38 +01:00
parent 239128bf5e
commit f880aa5957
10 changed files with 220 additions and 64 deletions

6
pnpm-lock.yaml generated
View File

@@ -151,9 +151,6 @@ importers:
packages/frontend:
dependencies:
'@sexy.pivoine.art/buttplug':
specifier: workspace:*
version: link:../buttplug
'@sexy.pivoine.art/types':
specifier: workspace:*
version: link:../types
@@ -188,6 +185,9 @@ importers:
'@lucide/svelte':
specifier: ^0.561.0
version: 0.561.0(svelte@5.53.7)
'@sexy.pivoine.art/buttplug':
specifier: workspace:*
version: link:../buttplug
'@sveltejs/adapter-node':
specifier: ^5.5.4
version: 5.5.4(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.7)(vite@7.3.1(@types/node@25.3.3)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.21.0)))(svelte@5.53.7)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.3)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.21.0)))