feat: add VERT file converter stack

Added VERT universal file format converter deployed at vert.pivoine.art:

**Vert stack** (vert.pivoine.art):
- vert: WebAssembly-based file converter
  - Supports 250+ file formats (images, audio, documents, video)
  - Client-side processing for privacy
  - No file size limits
  - No persistent data storage (stateless)

Infrastructure updates:
- Created vert/compose.yaml with Vert configuration
- Added VERT_* environment variables to arty.yml
- Updated compose.yaml to include vert stack
- Updated README.md and CLAUDE.md documentation
- No backup needed (stateless service)

All services integrated with Traefik for SSL termination and include
Watchtower auto-update labels.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-06 17:09:52 +01:00
parent a59c6bb2af
commit d986b365e2
5 changed files with 58 additions and 0 deletions

View File

@@ -22,6 +22,7 @@ Root `compose.yaml` uses Docker Compose's `include` directive to orchestrate mul
- **links**: Linkwarden bookmark manager (PostgreSQL + Meilisearch)
- **vault**: Vaultwarden password manager (SQLite)
- **joplin**: Joplin Server note-taking and sync platform (PostgreSQL)
- **vert**: VERT file format converter (WebAssembly-based, stateless)
- **restic**: Backrest backup system with restic backend
- **sablier**: Dynamic scaling plugin for Traefik
- **vpn**: WireGuard VPN (wg-easy)
@@ -247,6 +248,25 @@ Joplin Server note-taking and synchronization platform:
4. Enter server URL: `https://joplin.pivoine.art`
5. Enter email and password created in step 1
### Vert (vert/compose.yaml)
VERT universal file format converter:
- **vert**: VERT app exposed at `vert.pivoine.art:80`
- WebAssembly-based file conversion (client-side processing)
- Supports 250+ file formats (images, audio, documents, video)
- No file size limits
- Privacy-focused: all conversions happen in the browser
- No persistent data storage required
**Configuration**:
- **PUB_HOSTNAME**: `vert.pivoine.art` (for proper URL generation)
- **PUB_ENV**: `production`
- **PUB_DISABLE_ALL_EXTERNAL_REQUESTS**: `true` (privacy mode)
**Usage**:
Simply access https://vert.pivoine.art and drag/drop files to convert between formats. All processing happens in your browser using WebAssembly - no data is uploaded to the server.
**Note**: VERT is stateless and doesn't require backups as no data is persisted.
### Restic (restic/compose.yaml)
Backrest backup system with restic backend:
- **backrest**: Backrest web UI exposed at `restic.pivoine.art:9898`