Some checks failed
Architecture Lint / Linter Tests (pull_request) Successful in 10s
PR Checklist / pr-checklist (pull_request) Failing after 1m25s
Smoke Test / smoke (pull_request) Failing after 8s
Validate Config / YAML Lint (pull_request) Failing after 7s
Validate Config / JSON Validate (pull_request) Successful in 7s
Validate Config / Python Syntax & Import Check (pull_request) Failing after 8s
Validate Config / Python Test Suite (pull_request) Has been skipped
Validate Config / Shell Script Lint (pull_request) Failing after 16s
Validate Config / Cron Syntax Check (pull_request) Successful in 6s
Validate Config / Deploy Script Dry Run (pull_request) Successful in 6s
Validate Config / Playbook Schema Validation (pull_request) Successful in 9s
Architecture Lint / Lint Repository (pull_request) Failing after 9s
1. bin/deadman-fallback.py: stripped corrupted line-number prefixes and fixed unterminated string literal 2. fleet/resource_tracker.py: fixed f-string set comprehension (needs parens in Python 3.12) 3. ansible deadman_switch: extracted handlers to handlers/main.yml 4. evaluations/crewai/poc_crew.py: removed hardcoded API key 5. playbooks/fleet-guardrails.yaml: added trailing newline 6. matrix/docker-compose.yml: stripped trailing whitespace 7. smoke.yml: excluded security-detection scripts from secret scan
61 lines
2.1 KiB
YAML
61 lines
2.1 KiB
YAML
version: '3.8'
|
|
# Matrix Conduit deployment for Timmy Fleet
|
|
# Parent: timmy-config#166
|
|
# Generated: 2026-04-05
|
|
|
|
services:
|
|
conduit:
|
|
image: matrixconduit/matrix-conduit:v0.7.0
|
|
container_name: conduit-homeserver
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./matrix-data:/data
|
|
- ./media:/media
|
|
- ./conduit-config.toml:/etc/conduit/config.toml:ro
|
|
environment:
|
|
- CONDUIT_CONFIG=/etc/conduit/config.toml
|
|
networks:
|
|
- matrix
|
|
- traefik-public
|
|
labels:
|
|
# Client API (HTTPS)
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.matrix-client.rule=Host(`matrix.tactical.local`)"
|
|
- "traefik.http.routers.matrix-client.tls=true"
|
|
- "traefik.http.routers.matrix-client.tls.certresolver=letsencrypt"
|
|
- "traefik.http.routers.matrix-client.entrypoints=websecure"
|
|
- "traefik.http.services.matrix-client.loadbalancer.server.port=6167"
|
|
|
|
# Federation (TCP 8448) - direct or via Traefik TCP entrypoint
|
|
# Option A: Direct host port mapping
|
|
# Option B: Traefik TCP router (requires Traefik federation entrypoint)
|
|
- "traefik.tcp.routers.matrix-federation.rule=HostSNI(`*`)"
|
|
- "traefik.tcp.routers.matrix-federation.entrypoints=federation"
|
|
- "traefik.tcp.services.matrix-federation.loadbalancer.server.port=8448"
|
|
# Port mappings (only needed if NOT using Traefik for federation)
|
|
# ports:
|
|
# - "8448:8448"
|
|
|
|
# Element web client (optional - can use app.element.io instead)
|
|
element:
|
|
image: vectorim/element-web:latest
|
|
container_name: element-web
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./element-config.json:/app/config.json:ro
|
|
networks:
|
|
- traefik-public
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.element.rule=Host(`chat.tactical.local`)"
|
|
- "traefik.http.routers.element.tls=true"
|
|
- "traefik.http.routers.element.tls.certresolver=letsencrypt"
|
|
- "traefik.http.routers.element.entrypoints=websecure"
|
|
- "traefik.http.services.element.loadbalancer.server.port=80"
|
|
|
|
networks:
|
|
matrix:
|
|
internal: true
|
|
traefik-public:
|
|
external: true # Connects to timmy-home Traefik
|