Files
docker-compose/vert/compose.yaml
Sebastian Krüger d986b365e2 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>
2025-11-06 17:09:52 +01:00

31 lines
1.6 KiB
YAML

services:
vert:
image: ${VERT_IMAGE:-ghcr.io/vert-sh/vert:latest}
container_name: ${VERT_COMPOSE_PROJECT_NAME}_app
restart: unless-stopped
environment:
PUB_HOSTNAME: ${VERT_TRAEFIK_HOST}
PUB_ENV: production
PUB_DISABLE_ALL_EXTERNAL_REQUESTS: true
networks:
- compose_network
labels:
- 'traefik.enable=${VERT_TRAEFIK_ENABLED}'
- 'traefik.http.middlewares.${VERT_COMPOSE_PROJECT_NAME}-redirect-web-secure.redirectscheme.scheme=https'
- 'traefik.http.routers.${VERT_COMPOSE_PROJECT_NAME}-web.middlewares=${VERT_COMPOSE_PROJECT_NAME}-redirect-web-secure'
- 'traefik.http.routers.${VERT_COMPOSE_PROJECT_NAME}-web.rule=Host(`${VERT_TRAEFIK_HOST}`)'
- 'traefik.http.routers.${VERT_COMPOSE_PROJECT_NAME}-web.entrypoints=web'
- 'traefik.http.routers.${VERT_COMPOSE_PROJECT_NAME}-web-secure.rule=Host(`${VERT_TRAEFIK_HOST}`)'
- 'traefik.http.routers.${VERT_COMPOSE_PROJECT_NAME}-web-secure.tls.certresolver=resolver'
- 'traefik.http.routers.${VERT_COMPOSE_PROJECT_NAME}-web-secure.entrypoints=web-secure'
- 'traefik.http.middlewares.${VERT_COMPOSE_PROJECT_NAME}-web-secure-compress.compress=true'
- 'traefik.http.routers.${VERT_COMPOSE_PROJECT_NAME}-web-secure.middlewares=${VERT_COMPOSE_PROJECT_NAME}-web-secure-compress'
- 'traefik.http.services.${VERT_COMPOSE_PROJECT_NAME}-web-secure.loadbalancer.server.port=80'
- 'traefik.docker.network=${NETWORK_NAME}'
- 'com.centurylinklabs.watchtower.enable=${WATCHTOWER_LABEL_ENABLE}'
networks:
compose_network:
name: ${NETWORK_NAME}
external: true