homelab/proxmox/services/swarm-based/snikket.yml
2026-04-01 16:07:44 -04:00

74 lines
1.6 KiB
YAML

version: '3.8'
# Deploy with:
# docker stack deploy -c snikket.yml snikket
#
# Runs on: pve-social
# XMPP server (Prosody-based). TLS terminated externally by Caddy at the hub.
# Certs must be bind-mounted into the container when ready.
#
# Web portal (invites/admin): port 80 — proxied by Caddy
# XMPP client connections: port 5222
# XMPP federation: port 5269
# File transfer proxy: port 5000
services:
snikket-web:
image: snikket/snikket-server:latest
command: web
ports:
- target: 80
published: 80
protocol: tcp
mode: host
volumes:
- snikket_data:/snikket
networks:
- overlay-net
deploy:
replicas: 1
placement:
constraints:
- node.hostname == pve-social
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
snikket-server:
image: snikket/snikket-server:latest
command: server
ports:
- target: 5222
published: 5222
protocol: tcp
mode: host
- target: 5269
published: 5269
protocol: tcp
mode: host
- target: 5000
published: 5000
protocol: tcp
mode: host
volumes:
- snikket_data:/snikket
networks:
- overlay-net
deploy:
replicas: 1
placement:
constraints:
- node.hostname == pve-social
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
volumes:
snikket_data:
networks:
overlay-net:
external: true
name: ${OVERLAY_NETWORK:-homelab-net}